Вход на сайт
Delphi, C++, высшая математика
NEW 22.11.05 21:55
в ответ Quo Vadis 22.11.05 21:44
Что нужно делать - выше уже накидано.
Причем, довольно детально.
Но если человека не научили нормально понимать, т.е. связывать абстрактное мат. понятие с каким-либо физическим процессом, обычную терминологию, то тут что-либо делать почти бесполезно. По крайней мере проводить обучение в рамках форумов я не берусь...


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

NEW 22.11.05 22:17
в ответ Sevaforever 15.11.05 18:22
А gnuplot для этих целей не подойдет?
http://www.gnuplot.info/
Нам препод сегодня показавал, как с его помощью изолинии получать.
Может она после того, как ввели точки, не только график строит, но и функцию подбирает?
http://www.gnuplot.info/
Нам препод сегодня показавал, как с его помощью изолинии получать.
Может она после того, как ввели точки, не только график строит, но и функцию подбирает?
NEW 23.11.05 10:31
в ответ Tomasson 22.11.05 22:17
Нет, никакая из рисовалок тебе функции подбирать не будет, а уж гнуплот и подавно
. Надо глазом смотреть, на что кривая похожа, какого типа функцией можно попробовать её описать. Если, например, вначале слегка падает, а потом растёт -- может быть похожа на ... ну не знаю, на потенциал для квантового осциллятора, например. Или на параболу, которая сшивается с гиперболическим тангенсом. Тут больше шаманства, чем математики. Потом в эту функцию начинаешь совать побольше свободных параметров (масштабирующих высоту, ширину, фазу и ещё Бог знает что). А потом решаешь задачу оптимизации: при каких значениях этих параметров какая-то характерная величина (скажем, сумма квадратов отклонений точек полученной кривой от экспериментальных точек, или, например, минимальное отклонение точки кривой от эксперимента) будет иметь экстремум. В любой
библиотеке есть подпрограмма, которая этим занимается, в IDL это CUIRVEFIT.pro, но, конечно, можно и кустарными методами, например, методом секущих с контролем сходимости из NumRec. Самое сложное здесь -- подобрать удачное начальное приближение для параметров, если параметров много, то легко можно "упасть" в неподходящую потенциальную яму. Нашёл экстремум, смотришь -- а лежат ли все точки полученной функции внутри допустимого интервала. Лежат -- идёшь пить пиво. Нет -- горько плачешь и начинаешь шаманствовать над другой функцией. Если лежат, но не все, можно попробовать на менять функцию, а прибавить к ней возмущение, существенное только в той области, где отклонение неподходящее. Вообще, сделать такой процесс автоматическим, без участия человека, ИМХО можно только в небольшом числе случаев, когда кривые на выходе подобны. Более того,
невозможно гарантировать что для одной прекрасной кривой ранним весенним утром такой аппроксиматор не склеит ласты и добрый клапан не затопит всю Калининскую (?) губернию.

NEW 23.11.05 19:07
в ответ barmaglot 23.11.05 10:31
вот почему вы тут пишите все то, что мы сами уже сделали...))
функция похожа на арктангенс...
спасибо что ты хоть по делу написал
вот и у нас проблема - че делать если в некоторых областях
график буит выходить за установленные пределы...
функция похожа на арктангенс...
спасибо что ты хоть по делу написал
вот и у нас проблема - че делать если в некоторых областях
график буит выходить за установленные пределы...
Мы работаем ╚с огоньком╩!Городской крематорий.
24.11.05 10:39
в ответ Sevaforever 23.11.05 19:07
Хорошо бы набрать статистику. Взять, скажем, три тысячи наборов точек, и для всех построить кривые. Если вылезать за допустимые рамки будет всегда в одной и той же области, достаточно покорректировать функцию в этой области (например, прибавить к ней узкий "колокол", локализованный вблизи центра того места, где функция неподходящая). Если вылезать будет в разных местах, и никакой закономерности в зависимости от управляющих параметров (режима работы клапана, что ли?) заметно не будет, то наука здесь бессильна:). Тогда надо брать разработчика клапана за розовые побритые уши и трясти до тех пор, пока из него не выпадет таблица калибровки.
NEW 24.11.05 20:41
3000 наборов?
и ко всем подобрать?
ну во первых каждый набор придется рвучную набирать,
а в наборе около 200 точек...
ну а во-вторых я не мазахист))
и ко всем подобрать?
ну во первых каждый набор придется рвучную набирать,
а в наборе около 200 точек...
ну а во-вторых я не мазахист))

Мы работаем ╚с огоньком╩!Городской крематорий.
NEW 25.11.05 11:24
Без труда ..., особенно у студента
В любом случае нужно построить определенное количество графиков и попробовать описать их разными функциями.Лучше самыми простыми. Неплохо, если кривую удасться линеаризировать в каких-нибудь координатах (логарифмических, полулогарифмических, от обратного времени...). Тогда можно аппроксимировать по методу наименьших квадратов уравнением прямой. Полином 2-3 степени тоже не плохо и просто считать.
После описания считать стандартное отклонение полученной кривой от экспериментальных точек. Его можно использовать как критерий качества описания и подбирать функцию, которая лучше всего описывает набор данных. Либо убедится, что ни одна из отобранных функций не подходит. Тогда искать нужную функцию дальше...
Для построения графиков и аппроксимации можно использовать уже названную безплатную программу gnuplot.
после запуска программы набрать help plot (что бы научится строить графики) и help fit (что бы научится аппроксимировать).
Строить ли 3000 тысячи графиков зависти от важности задачи, ну и собственного отношения к работе...
в ответ Sevaforever 24.11.05 20:41
В ответ на:
ну а во-вторых я не мазахист))
ну а во-вторых я не мазахист))
Без труда ..., особенно у студента

В любом случае нужно построить определенное количество графиков и попробовать описать их разными функциями.Лучше самыми простыми. Неплохо, если кривую удасться линеаризировать в каких-нибудь координатах (логарифмических, полулогарифмических, от обратного времени...). Тогда можно аппроксимировать по методу наименьших квадратов уравнением прямой. Полином 2-3 степени тоже не плохо и просто считать.
После описания считать стандартное отклонение полученной кривой от экспериментальных точек. Его можно использовать как критерий качества описания и подбирать функцию, которая лучше всего описывает набор данных. Либо убедится, что ни одна из отобранных функций не подходит. Тогда искать нужную функцию дальше...
Для построения графиков и аппроксимации можно использовать уже названную безплатную программу gnuplot.
после запуска программы набрать help plot (что бы научится строить графики) и help fit (что бы научится аппроксимировать).
Строить ли 3000 тысячи графиков зависти от важности задачи, ну и собственного отношения к работе...
NEW 25.11.05 13:52
в ответ Sevaforever 24.11.05 20:41
короче..все тут ерунду пишут...к сожаленью даже Доктор физических наук мудрит...
есть куча программ, которые умеют интерполировать заданные функции..
идеальная функция тебе дана...дана..
точки полученные эксперементальным путём..даны..даны...
интерполируем кривую через заданные точки..какой алгоритм???
задача подогнать полученную кривую под заданную функцию..вычеслить погрешности..и ошибки...
всё это делают выше названные программы...если это так..значит можно написать код , который это всё будет выполнять...и не надо никаких подборов..на глаз...чтения инженерных талмудов..и прочей ерунды..
проверять свой код можно прогой <origin>
и тут посыпались конкретные идеии...как начинают разработку такого проекта...
есть куча программ, которые умеют интерполировать заданные функции..
идеальная функция тебе дана...дана..
точки полученные эксперементальным путём..даны..даны...
интерполируем кривую через заданные точки..какой алгоритм???
задача подогнать полученную кривую под заданную функцию..вычеслить погрешности..и ошибки...
всё это делают выше названные программы...если это так..значит можно написать код , который это всё будет выполнять...и не надо никаких подборов..на глаз...чтения инженерных талмудов..и прочей ерунды..
проверять свой код можно прогой <origin>
и тут посыпались конкретные идеии...как начинают разработку такого проекта...

NEW 25.11.05 19:41
в ответ Simple 25.11.05 16:31
ну не надо писать..хотя бы с чего начинать...только не общими фразами...
а чуток поконкретней...меня вот тоже заинтересовало...
например есть точки с координатами, как прикинуть координаты идеальной функции..масштабирование..
где она должна проходить , чтобы можно было прикинуть какие точки подходят, а какие нет...
брать крайние левые и крайние правые..???
ну примерный алгоритм...
а чуток поконкретней...меня вот тоже заинтересовало...
например есть точки с координатами, как прикинуть координаты идеальной функции..масштабирование..
где она должна проходить , чтобы можно было прикинуть какие точки подходят, а какие нет...
брать крайние левые и крайние правые..???
ну примерный алгоритм...
NEW 25.11.05 20:43
в ответ Quo Vadis 25.11.05 13:52
я ж вроде писал что интерполяия не подойдет,
так как возможен большой разброс точек на определенном куске функции
в итоге можем получить скачущую кривую, а нада гладкую))
я понимаю что все это могут делать многие программы, но все они платные
а живут наши ученые пока в россии - и все делают студенты за бесплатно
и программы писать должны тоже мы
я понимаю что раз это делают программы то и код написать можно))
вопрос только сколько лет все это делать?))
но станция то уже построена... вот ток настроить не могут
все у нас в Росиии через заднее место как-то проходит по-моему
не делается по-нормальному то...
так как возможен большой разброс точек на определенном куске функции
в итоге можем получить скачущую кривую, а нада гладкую))
я понимаю что все это могут делать многие программы, но все они платные
а живут наши ученые пока в россии - и все делают студенты за бесплатно
и программы писать должны тоже мы
я понимаю что раз это делают программы то и код написать можно))
вопрос только сколько лет все это делать?))
но станция то уже построена... вот ток настроить не могут
все у нас в Росиии через заднее место как-то проходит по-моему
не делается по-нормальному то...
Мы работаем ╚с огоньком╩!Городской крематорий.