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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2009, 21:42   #1
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Есть в Excel такая хитрая вещь как поиск решения. Мне очень нужна реализация этого алгоритма на Delphi. Хотя бы подробный алгоритм. Или может кто сможет мне помочь через ICQ? буду очень благодарен

Что такое оценки и разности, методы поиска. Ничего не понимаю.
Нужно мне, чтобы меняя в формуле 4 значения получить наименьший результат.

Определился я, что задача сводится в область оптимизации. Кто знаком с этими задачами, просьба помочь.
Ребята, очень нужна помощь, нужно не решение, а именно помощь. Могу на телефон денег закинуть

Последний раз редактировалось SuperVisor; 17.09.2009 в 13:45. Причина: Объеденил
Mikhail Bakurov вне форума Ответить с цитированием
Старый 17.09.2009, 13:44   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Михаил, вы конкретнее напишите: какая именно задача, исходные данные, необходимый результат + мысли, наработки. =)
P.S. Использование ICQ, e-mail в данном разделе запрещено.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 17.09.2009, 13:58   #3
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Задача следующая: есть 3 столбца данных, и уравнение. В excel'e делал так: считал значение уравнения для всех строк (около 4000, бывает и больше), затем находил СуммуКвадратов и поиском решения менял коэффициенты уравнения с целью СуммуКвадратов сделать близкой к нулю.

О данных: это всегда координаты точек в пространстве. Уравнения это расстояние точек до поверхности (плоскость, парабалоид, цилиндр).
Коэффициенты - это коэффициенты поверхности. Например для плоскости уравнение расстояния от точки до поверхности следующее:
D=(A*x+B*y+C*z+D)/((A^2+B^2+C^2)^1/2)
где x,y,z - это данные
A,B,C,D - это коэффициенты поверхности, которые нужно найти так, чтобы сумма квадратов уравнений по всем строкам была ближе к 0.

Вот это нужно на Delphi реализовать. Я покажу что есть и как в Excel'e делал.
Mikhail Bakurov вне форума Ответить с цитированием
Старый 17.09.2009, 14:14   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Ну собственно описание очень мутное . Четко сформулированный вопрос это половина решения задачи. Как звучит естественное условие? Вам нужно найти наименьшее растояние между точками опредленной поверхности?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.09.2009, 14:20   #5
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Это вроде бы аппроксимировать плоскостью называется. Нужно найти плоскость, которая была бы ближе ко всем точкам.
Mikhail Bakurov вне форума Ответить с цитированием
Старый 17.09.2009, 14:27   #6
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Да, было бы не плохо прикрепить файл Excel, дабы нам было на что опираться. =)
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 17.09.2009, 14:46   #7
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Там в архиве данные, если их в 3д графике нарисовать они от нуля высоко находятся и немного под углом, а после аппроксимации выходит, что они как бы в плоскости X0Y лежат, близко к ней

Чтобы понятнее было по столбцам:
|коорд X|коорд Z|коорд Y|коэффициенты плоск.|раастояния|суммаКв|
z и y местами поменяно, потому что в другой плоскости решение получается, мне нужно в этой
Там кстати не смотрите, что цифра большая, просто она ближе всех к 0. Данные имеют большой разброс. Но самое главное, что плоскость проходит посередине
Вложения
Тип файла: rar пример.rar (49.2 Кб, 13 просмотров)

Последний раз редактировалось Mikhail Bakurov; 17.09.2009 в 15:16.
Mikhail Bakurov вне форума Ответить с цитированием
Старый 17.09.2009, 15:31   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

То есть твоя задача сводится к перебору коэффициентов А, Б, С, Д? А с каким шагом?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.09.2009, 15:37   #9
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

В этом помощь и нужна. Выбрать метод, выбрать наиболее подходящие условия, шаг и прочее
Mikhail Bakurov вне форума Ответить с цитированием
Старый 18.09.2009, 10:32   #10
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Ну, теперь все немного яснее...
Есть табличные данные: x,y,z - точка в трехмерном пространстве.
Необходимо найти такие A,B,C,D (коэффициенты поверхности), чтобы Сумма квадратов по модулю была как можно ближе к 0.
Уравнение, по которому высчитвывается расстояние от точки до плоскости:
D=(A*x+B*y+C*z+D)/((A^2+B^2+C^2)^1/2)

Вопрос первый: Сумма квадратов чего? (A^2+B^2+C^2)? Формула какая?
Вопрос второй: Коэффициенты поверхности? К чему коэффициенты? Откуда они берутся, к чему привязываются, на что влияют? Они используются в формуле, однако происхождение их мне не понятно, как и многим здесь...
Вопрос третий: Зачем нам расстояние от точки до плоскости? Нам нужно найти уравнение, которой задана плоскость???

Нам нужно найти такую плоскость, которая была бы для крайних точек наиболее равноудаленой и "прижать" их к этой плоскости?
Зачем нам после вычислений использовать аппроксимацию?

Опиши цель, к которой мы идем, чего добиваемся? А то получается как при коммунизме - "Мы идем к великой цели! Наша цель - коммунизм." А что такое "коммунизм" никто и не задумывался. "Коммунизм - это когда все равны и у всех все общее!" - скажете вы. "А нихр... Ничего подобного" - скажу я, т.к. кто-то этим равенством должен управлять, а если все общее - то ни у кого ни у чего нет, кроме тех, кто этим общим управляет.. ))) Дак о чем это я... Ах, да!!! Мы тут сидим как котята новорожденные - знаем, что нам надо идти, титьку сосать, а куда идти, и где сосать- не видим!! Глаза-то еще толком не открыли.. )))
Познавая других, мы познаем себя.
С'est la vie...

Последний раз редактировалось SuperVisor; 18.09.2009 в 10:54.
SuperVisor вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel поиск решения yura16 Microsoft Office Excel 7 14.12.2012 02:57
поиск решения Aqil_f Microsoft Office Excel 1 04.06.2009 16:18
поиск решения Aqil_f Microsoft Office Excel 9 19.05.2009 23:13
Поиск решения tipok Microsoft Office Excel 6 16.02.2009 10:46