Обратное интерполирование с помощью полинома Ньютона в пакете MATHCAD.
Используется первая формула Ньютона, которая записана с помощью функции пользователя. Для реализации метода итераций организован программный блок, выходными параметрами которого являются искомое значение аргумента и необходимое количество итераций:
Решение задачи обратного интерполирования С помощью полинома Ньютона в пакете MATLAB. Res – функция для решения по методу итераций. Эта функция вызывает функцию Q(q,y,Y,n), которая определяет первую интерполяционную формулу Ньютона для метода обратной интерполяции: function res=iter(y,Y,X,eps) h = X(2)-X(1); n = length(X); konrazn=diff(Y,1); konrazn=konrazn(1); q = (y - Y(1))/konrazn; q_next = Q(q,y,Y,n); while abs(q_next-q)>eps q=q_next; q_next = Q(q,y,Y,n); end; res = q_next*h+X(1); return % функция Q(q,y,Y,n): function res=Q(q,y,Y,n) sum = 0; for i=2:n-1 % вычисление конечной разности konrazn=diff(Y,i); konrazn=konrazn(1); % вычисление факториала fact=prod(1:i); % вычисляем (x-y0)(x-y1)...(x-yn-1) Mult=1; for j=1:i Mult=Mult*(q-j+1); end; sum=sum+(konrazn/(fact))*Mult; end; konrazn=diff(Y,1); konrazn=konrazn(1); res = (y-Y(1)-sum)/konrazn; return Пример вызова функций: > > x = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9] >> y= [0.99602 1.07670 1.15402 1.22777 1.29776 1.36386 1.42592 1.48384 1.53751 1.58688] >> iter(1.36386,y,x,0.001) ans = 0.5000 >> iter(1.30254,y,x,0.001) ans = 0.4070 Варианты заданий
Точки интерполяции
Уравнения для решения задачи нахождения корня методом обратного интерполирования взять из лабораторной работы № 2.
|