Интерполяция функций
Помоги с этим разобраться.
Интерполировать заданную таблично функцию полиномами 1-го порядка (локальная линейная интерполяция) и полиномом n-го порядка (глобальная интерполяция). Вычислить значение функции в точке x: xi= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 yi=-1.06, -0.83, -0.68, -0.31, 0.11, 0.00, 0.12, 0.53, 0.18, 0.25, 0.38, 0.21, 0.44, 0.63, 0.86, 1.05, 1.32, 1.55, 1.82, 1.71 в точке х=11.24. (Аппроксимация функций) Аппроксимировать табличную функцию из предыдущей задачи полиномом 1 и 2 степени. Используя полученную аппроксимацию, вычислить значение функции в точке, указанной в предыдущей задаче. На одной координатной плоскости построить график исходной табличной функции и графики аппроксимирующих полиномов. |
вот что мне удалось написать по поводу интерполяции, но не факт что правильно.....а как быть с аппроксимацией? кто-нибудь может помочь?
Цитата:
|
Вот это что за ахинея?
Цитата:
if (x[i-1]<=xp) and (xp<=x[i+1])? Повнимательнее, пожалуйста. Далее - при вычислении коэффициентов a, b и c в квадратичной интерполяции у Вас дроби (числитель и знаменатель) перевернуты. Могу привести формализм, которым сам пользуюсь (отлаженный и проверенный). Если парабола проходит через точки с координатами (X1,Y1), (X2,Y2), (X3,Y3) и требуется определить значение Y в точке X, лежащей между X1 и X3, то Код:
det:=(X1-X2)*(X2-X3)*(X1-X3); Теперь насчет аппроксимаций, линейной и квадратичной. Формализм достаточно подробно изложен, например, здесь: http://edu.dvgups.ru/METDOC/ENF/VMAT...GZ/frame/2.htm Надеюсь, запрограммировать все эти суммы Вы сумеете. |
правильно делаю?
Код:
program Approks; |
Цитата:
Код:
x[0]:= 1; x[1]:= 2; x[2]:= 3; x[3]:= 4; x[4]:= 5; x[5]:= 6; x[6]:= 7; x[7]:= 8; x[8]:= 9; x[9]:=10; Код:
for i:=0 to 19 do x[i]:=i+1; |
Часовой пояс GMT +4, время: 05:05. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.