![]() |
|
![]() ![]() ![]() |
|
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: нет Всего: 2 |
Нееобходимо найти уравнение прямой проходящей через точки в четирех мерном пространсве
f(x1,x2,x3)=а1*х1+а2*х1+а3*х1+а4 Найти а1,а2,а3,а4 ? Заданы координаты точки (i) x1(i) x2(i) x3(i) и значение функции в этой точке F(i) |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
![]() Одно из решений a1=0; a2=0; a3=0; a4=f(i) С математической точки зрения такая система не имеет решения. -------------------- Пролетал мимо. |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: нет Всего: 2 |
Точек не одна, а много. Черезе точки прямая проводиться без проблем, через три, уже не очень гладко, а через десять?
http://www.exponenta.ru/educat/systemat/tarasevich/3_3_1.asp идна переменная, а нужно болтьше двух |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
||||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: нет Всего: 2 |
Приметр задачи, нужно постоить прямую, проходящую через комнату (комната в одном конце отапливаемая), по которой (средняя температура в окресности точки пространсва) темепратура будет меняться линейно. Тоесть вектор изменения температуры в комнате
Добавлено @ 23:22 Известны координаты точки измерения, и температура в ней, точек много и не находяться на одной прямой. Теость через облако точек нужно провести прямую, растояние от которой были бы минимальными до всех точек, четвертым критерием служит само значерие функции. http://www.exponenta.ru/educat/systemat/tarasevich/3_3_1.asp вот одна переменная и значение функции (к примеру, описать и решить задачу могу), а нужно три переменных и значение функции. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Аппроксимация на прямую. Например по методу наименьших квадратов.
PS. Предвидя - количество размерностей значения не имеет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: нет Всего: 2 |
да, но в предыдущем топике никто не сказал ничего толкового
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
в предыдущем топике был предложен алгоритм до его полной реализации не дошло всё остановилось на фразе "не работает" без объяснений -------------------- qqq |
|||
|
||||
Aloha |
|
|||
. ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 351 Регистрация: 14.5.2006 Репутация: 4 Всего: 165 |
Alex1984
Давай на минуту немного упростим задачу. А именно, предположим, что наша комната двумерна. Тогда распределение температуры в нашей двумерной комнате T(x,y) есть поверхность (в 3-х мерном пространстве). Известно, что существуют поверхности (назовем их экзотическими), имеющие прямолинейную образующую, например конус, цилиндр (эллиптический, гиперболический, параболический), однополостной гиперболоид, гиперболический параболоид (последние две поверхности имеют по два семейства прямолинейных образующих). Очевидно, что в таких случаях рассматриваемая задача будет иметь множество точных решений (по прямолинейной образующей температура и будет меняться линейно). (Перечисляя поверхности, имеющие прямолинейную образующую я забыл сказать про плоскость). ![]() Предположим теперь, что точки T(x,y) разбросаны случайным образом, но с малой дисперсией относительно экзотической поверхности. Метод наименьших квадратов вернет коэффициенты некоей прямой, но вопрос какой. Я это к тому, что задача, по-видимому, требует уточнения. (Например, какому условию удовлетворяет изменение температуры вдоль искомой прямой: изменение максимально, минимально, либо температура вдоль прямой в среднем постоянна). Это сообщение отредактировал(а) Aloha - 29.5.2006, 14:27 |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: нет Всего: 2 |
maxim1000, вроде получилось найти решение, в маткаде заработало, выложу файл плзже, так как не дома сейчас.
Вы были правы, но не получилось тогда. Принцип МНК реализовал постороением системы уравнений, каждое из которых частные производные по каждой переменной. Напишу работающую прогу на Паскалу, в соответствующем топике представлю к обозрению |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Alex1984, я с тебя фигею... какие к дьяволу частные производные??? тупейшая система из 4 линейных уравнений...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 7 Всего: 183 |
Akina, это же задача на минимизацию, так что формально эти уравнения действительно получаются из приравнивания частных производных нулю. Только для линейного случая это уже столько раз написано, что никто и не вспоминает...
-------------------- ... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
НЕТ, НЕТ И ЕЩЕ РАЗ НЕТ. Это не абстрактный алгоритм минимизации, а МЕТОД НАИМЕНЬШИХ КВАДРАТОВ. Уравнение, на которое выполняется аппроксимация - ЛИНЕЙНОЕ ОТНОСИТЕЛЬНО ВСЕХ АРГУМЕНТОВ. Резюме - производные НЕ ТРЕБУЮТСЯ. Как выглядит решение? рассказываю. Имеется уравнение аппроксимации: F = A*X + B*Y + C*Z + D Имеется набор экспериментальных значений Xi, Yi, Zi, Fi При верных значениях коэффициентов A, B, C, D значение выражения S = Sum( (A*X + B*Y + C*Z + D - F)^2 ) минимально. То есть изменение любого из коэффициентов A, B, C, D приведет к увеличению этой суммы. Следовательно производная этой суммы по любому коэффициенту равна нулю: dS / dA = 0 dS / dB = 0 dS / dC = 0 dS / dD = 0 Посмотрим что они есть аналитически. Например первое dS / dA = d( Sum( (A*X + B*Y + C*Z + D - F)^2 ) ) / dA = 2 * ( Sum( (A*X + B*Y + C*Z + D - F)^2 ) ) * ( d( Sum(A*X + B*Y + C*Z + D - F) ) / dA ) = 2 * ( Sum(A*X + B*Y + C*Z + D - F) * X) = 2 * ( Sum(A*X^2) + Sum(B*X*Y) + Sum(C*X*Z) + Sum(D*X) - Sum(F*X) ) = 2 * ( A*Sum(X^2) + B*Sum(B*X*Y) + C*Sum(X*Z) + D*Sum(X) - Sum(F*X) ) = 0 Убираем двойку (если 2*N=0, то N=0 - очевидно): A*Sum(X^2) + B*Sum(X*Y) + C*Sum(X*Z) + D*Sum(X) = Sum(F*X) Аналогично: A*Sum(X*Y) + B*Sum(Y^2) + C*Sum(Y*Z) + D*Sum(Y) = Sum(F*Y) A*Sum(X*Z) + B*Sum(Y*Z) + C*Sum(Z^2) + D*Sum(Z) = Sum(F*Z) A*Sum(X) + B*Sum(Y) + C*Sum(Z) + D*Sum(1) = Sum(F) Sum(1) в последнем уравнении равно N - числу экспериментальных точек. Подсчитать суммы для заданного набора экспериментальных точек - дело плевейшее. А после подсчета и подстановки получаем линейную систему из 4 уравнений с 4 неизвестными A, B, C, D которую можно решать любым доступным способом. Вот и все, собсно... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 7 Всего: 183 |
Кто же спорит, так все и есть. Только:
Производная по одному из параметров и есть частная производная. И задача эта - на минимизацию функции 4 параметров (у тебя - S). Точно так же решается задача, когда искомая функция является не прямой, а параболой или другой полиномиальной кривой, только коэффициентов и уравнений будет больше. -------------------- ... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Earnest, речь о том что зависимость - линейная, следовательно вместо численного подсчета частных производных надо посидеть 5 минут с карандашом в руке и получить аналитическое решение системы.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |