|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2011, 19:17 | #1 |
Новичок
Джуниор
Регистрация: 01.03.2011
Сообщений: 1
|
канонический полином
Итак. Имею набор точек, надо их интерполировать тремя разными полиномами. Беру, к примеру, канонический:
type matrix = array[byte, byte] of currency; arr = array[byte] of currency; var x, y : arr; m : byte; procedure P(xr : arr; kr : byte; var yr : arr); var i, j, k : integer; mx : matrix; коэф : arr; t : currency; begin // Формируем СЛАУ for i := 0 to m - 1 do begin mx[i, m] := y[i]; mx[i, 0] := 1; for j := 1 To m - 1 do mx[i, j] := mx[i, j - 1] * x[i]; end; writeln(f2); // Находим коэффициенты полинома степени m-1 Гаусс(mx, m, коэф); // Находим значения в расчетных точках for i := 0 to kr - 1 do begin yr[i] := коэф[0]; for j := 1 to m - 1 do yr[i] := коэф[j] * exp(j * ln(xr[i])) + yr[i]; end; end; Все хорошо, казалось бы, но вот беда, получаю разные ответы, при сравнении, например,с Нютоновским или многочленом Лагранжа. Выяснил в чем беда. "Криво" формируется СЛАУ. Значения обрезаются. к примеру, прога считает 0.41 в 3 степени = 0.0689000000000, хотя на самом деле = 0.068921. На вижуал бэйсике все прекрасно считается, а вот на делфи (курсовой надо сделать) как-то все криво Последний раз редактировалось littlefella; 11.04.2011 в 19:28. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм.Полином Ньютона. | Aleksandr_Yanov | Помощь студентам | 10 | 09.12.2010 23:35 |
Delphi полином | NewEra | Помощь студентам | 4 | 19.05.2010 21:32 |
полином лагранжа | milate | Общие вопросы C/C++ | 10 | 24.05.2009 13:44 |
Интерполяционный полином Ньютона | Skay | Общие вопросы Delphi | 2 | 19.10.2007 22:18 |