Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
С помощью полинома Ньютона в пакете 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.
|