Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Мат обработка данных

Автор: Dark_san 5.05.2010 5:11

Вот этот ужас дали...
0.1 0.0996
0.2 0.1966
0.3 0.2887
0.4 0.3742
0.5 0.4518
0.6 0.5210
0.7 0.5818
0.8 0.6343
0.9 0.6792
1.0 0.7173
Входные данные.
П.с. Кто то может обьяснить, что от меня хотят ?smile.gif и примерный алгоритм работы... со всем этим.
Нужно построить Квадратическую зависимость.

Автор: Ozzя 5.05.2010 11:17

Цитата
Кто то может обьяснить, что от меня хотят ?

Да. Может. Преподаватель, давший Вам это задание. Ну, или загляните в его лекции.

Автор: Lapp 5.05.2010 13:16

Цитата(Dark_san @ 5.05.2010 2:11) *
П.с. Кто то может обьяснить, что от меня хотят ?smile.gif и примерный алгоритм работы... со всем этим.

Не я.
Я лекции по телепатии всегда прогуливал, у меня по ней тройка с минусом..

Автор: TarasBer 5.05.2010 13:25

Может надо приблизить этот набор точек полиномом 2 степени?

Автор: Dark_san 5.05.2010 14:59

Цитата(Ozzя @ 5.05.2010 8:17) *

Да. Может. Преподаватель, давший Вам это задание. Ну, или загляните в его лекции.

Если бы было все так просто, я бы сама прочитала и написала.

Нужно построить квадратическую зависимость через поиск эмпирической формулы в форме :
y=ax^2+bx+c, где а b c -неизвестные
Нашла в гугле несколько формул
http://www.radikal.ru
и формула для контроля расчета
http://www.radikal.ru

Автор: Lapp 5.05.2010 15:05

Цитата(Dark_san @ 5.05.2010 11:59) *
Нашла в гугле несколько формул

мммм... и в каком месте они квадратические? blink.gif

Автор: TarasBer 5.05.2010 15:15

Цитата(Lapp @ 5.05.2010 12:05) *

мммм... и в каком месте они квадратические? blink.gif

Это стандартная матрица для интерполяции набора из n точек полиномом m степени (для m=2) по методу наименьших квадратов. Выглядит так:
a[i, j] = sum(x[k]^(i+j); k=0 .. n-1)
b[j] = sum(y[k]*x[k]^j; k=0 .. n-1)
i, j = 0 .. m
Так что моё предположение оказалось верным.

Автор: Lapp 5.05.2010 15:21

Цитата(TarasBer @ 5.05.2010 12:15) *
Так что моё предположение оказалось верным.

Вот ты и отдувайся )). Тебя потом пригласят на праздник вызывания дождя, а в конце его - съедят! ))

Автор: TarasBer 5.05.2010 15:27

Ну вот отдуюсь - надо построить матрицу A размером m+1 на m+1 (в данном случае - 3 на 3), и столбец B высоты m+1 (в данном случае 3), построить их по вот этим формулам, потом решить систему AX=B (где-то тут наверняка были примеры решения системы линейных уравнений), получить в качестве X коэффициенты квадратичного полинома. Вот и всё.

Автор: Lapp 5.05.2010 15:31

Цитата(TarasBer @ 5.05.2010 12:27) *
Вот и всё.
Типо, думаешь, отдулся?
no1.gif

Автор: Romtek 5.05.2010 20:02

По английски это называется Curve Fitting.
О том как приближать данные к параболе, можно прочесть на странице http://www.dsrlab.com/dw/Gun/parabolicfit.html. Хоть и на английском, но достаточно просто объясняется.

В общем, чтобы решить систему уравнений из трёх неизвестных, достаточно трёх уравнений. Подставляешь 3 пары чисел в квадратное уравнение и решаешь систему уравнений методами Крамера или Гаусса.

Если я не ошибаюсь, такое количество пар точек дано для того, чтобы минимизировать ошибку приближённого вычисления. Только каким образом это делать программно - я не знаю. Нужно иметь порядок действий.

Автор: TarasBer 5.05.2010 20:18

Цитата(Romtek @ 5.05.2010 17:02) *
http://www.dsrlab.com/dw/Gun/parabolicfit.html]Fitting a Parabola to Your Data


То не то, там только для 3 точек.

Цитата


В общем, чтобы решить систему уравнений из трёх неизвестных, достаточно трёх уравнений.

Спасибо, кэп.
Да только когда точек больше трёх, то принцип построения системы меняется.
Цитата


Если я не ошибаюсь, такое количество пар точек дано для того, чтобы минимизировать ошибку приближённого вычисления.


Ну, чем больше - тем лучше.

Цитата


Только каким образом это делать программно - я не знаю. Нужно иметь порядок действий.


А как это делать, я уже написал.