Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2009, 20:26   #1
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию Решение уравнения 3-х переменных итерационным методом

Проблема в следующем:
Имеем массив точек M(n,3), столбцы - координаты x,y,z
Имеем формулу расстояния от точки до плоскости
необходимо итерационно рассчитать положение плоскости, в котором сумма квадратов расстояний будет минимальной.

Мысли: вроде бы нужно взять производные по всем неизвестным параметрам (их 4) и каким-то образом их рассчитать.

нужно описание алгоритма, либо совет. Заранее спасибо

P.S. Точки не по сетке, взяты произвольно
Mikhail Bakurov вне форума Ответить с цитированием
Старый 26.01.2009, 22:15   #2
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Может понятнее будет, если по другому объясню:

я подобную операцию делал в excel'e, там надстройка есть, поиск решения называется. Для каждой строки расчет по формуле.

Q=(A*x+B*y+C*z+D)/(sqrt(A^2+B^2+C^2));
x,y,z - соответственно заданы массивом
A,B,C,D - параметры плоскости

нахожу СуммуКвадратов(Q);

Поиском решения задаю менять A,B,C,D, так, чтобы сумма была как можно ближе к 0.
в результате столбец с формулой приобретает нужные(аппроксимированные) значения, а параметры коэффициенты плоскости

Мне нужно этот механизм реализовать...

Я его вызывал из Excel'я посредством OLE, но теперь нужно реализовать в программе...

Прошу помощи
Mikhail Bakurov вне форума Ответить с цитированием
Старый 26.01.2009, 23:18   #3
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Скоко я вижу это задача НЛП (не линейного программирования) без ограничение скоко я вижу... хотя стоп есть ограничения.... A^2+B^2+C^2 <>0
а задача я понимаю вот такая..
min(Cумма_всех((A*x+B*y+C*z+D)/(sqrt(A^2+B^2+C^2))))
параметры оптимизации A, B, C, D
Ищи в гугле методы решения задач не линейного программирования..
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение уравнения методом деления отрезка пополам. Методом секущей. Panda196 Паскаль, Turbo Pascal, PascalABC.NET 3 25.11.2008 09:06
решение Квадратного уравнения методом Виета Claster Помощь студентам 3 16.09.2008 20:18
Решение уравнения Datrav Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 08:23
Решение нелинейного уравнения методом Ньютона Tina Общие вопросы C/C++ 2 04.06.2008 21:48
Решение уравнения вида ax+by=1 :)) Solny6ko YasnoE Помощь студентам 4 14.06.2007 14:38