Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Интерполяционный многочлен Ньютона





 

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

В этом случае шаг таблицы h = хi+1 - xi (i = 0, 1, 2,..., n) = const является величиной постоянной. Для таких таблиц построение интерполяционных формул (как впрочем, и вычисление по этим формулам) заметно упрощается.

Прежде чем перейти к рассмотрению этого вопроса, познакомимся с понятием конечных разностей.

Пусть функция задана таблицей с постоянным шагом. Разности между значениями функции в соседних узлах интерполяции называют конечными разностями первого порядка:

Δ yi = yi+1 - yi (i = 0, 1, 2,...).

Из конечных разностей первого порядка образуются конечные разности второго порядка:

Δ 2yi = Δ yi+1 - Δ yi (i = 0, 1, 2,...)

Для записи конечных разностей используются горизонтальные и диагональные таблицы.

Горизонтальная таблица

x y Δy Δ2y Δ3y
x0 y0 Δy0 Δ2 y0 Δ3y0
x1 y1 Δy1 Δ2 y1  
x2 y2 Δy2    
x3 y3      

 

Диагональная таблица

x y Δy Δ2y Δ3y  
x0 y0 Δy0 Δ2 y0 Δ3y0  
x1 y1  
Δy1  
x2 y2 Δ2 y1  
Δy2  
x3 y3  

 

Формула Ньютона «вперед»:

где n – порядок полинома, h – шаг (расстояние между узлами).

 

Первый порядок:

x1=x0-h Δy= y1 – y0
x2=x0-2h Δy1= y2 – y1
xn=x0-n×h Δyn-1= yn – yn-1

Второй порядок:

Δ2y= Δy1 – Δy0
Δ2y1= Δy2 – Δy1
Δ2yn-2= Δyn-1 – Δyn-2

 

Формула Ньютона «назад»:

Программа для интерполирования «вперед»: Программа для интерполирования «назад»:
program newton; const n=3; var d:array[0..n,0..n] of real; x,y:array[0..n] of real; p:array[1..n] of real; f1,f2:text; h,x1,s1:real;i,j:integer; begin assign(f1,'n1.pas');assign(f2,'nnn.pas'); reset(f1);rewrite(f2);x1:=1.5;h:=1; for i:=0 to n do read(f1,x[i],y[i]); s1:=y[0]; for i:=0 to n do d[i,0]:=y[i]; for j:=1 to n do for i:=0 to n-j do d[i,j]:=d[i+1,j-1]-d[i,j-1]; for i:=1 to n do begin p[i]:=1;for j:=1 to i do p[i]:=p[i]*(x1-x[j-1])/(h*j); s1:=s1+d[0,i]*p[i]; end; write(f2,s1:7:4);close(f2);end. program newton; const n=3; var d:array[0..n,0..n] of real; x,y:array[0..n] of real; p:array[1..n] of real; f1,f2:text; h,x1,s1:real;i,j:integer; begin assign(f1,'n1.pas');assign(f2,'nn3.pas'); reset(f1);rewrite(f2);x1:=1.5;h:=1; for i:=0 to n do read(f1,x[i],y[i]);s1:=y[n]; for i:=0 to n do d[i,0]:=y[i]; for j:=1 to n do for i:=0 to n-j do d[i,j]:=d[i+1,j-1]-d[i,j-1]; for i:=1 to n do begin p[i]:=1;for j:=1 to i do p[i]:=p[i]*(x1-x[n-j+1])/(h*j); s1:=s1+d[n-i,i]*p[i]; end; write(f2,s1:5:2);close(f2);end.

 

4.2. Итерационные методы решения нелинейных уравнений

 

Итерационные методы используются для решения нелинейных алгебраических и трансцендентных уравнений.

Уравнения в общем случае можно представить следующим образом:

f(x)=0.

Нелинейные уравнения можно разделить на два класса - алгебраические и трансцендентные.

Алгебраическими считаются уравнения, содержащие только алгебраические функции (целые, рациональные, иррациональные).

Алгебраическое уравнение в общем виде можно представить многочленом n-й степени с действительными коэффициентами:

f(x)=a0+a1x+...+an-1xn-1+an xn=0.

Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и др.), называются трансцендентными, например: x3+x2+2ex+5=0; 2x-sin3x=0.

Задача решения уравнения заключается в нахождении таких значений х, которые обращают его в тождество.

 

Метод деления отрезка пополам

 

Рассмотрим некоторые итерационные методы решения нелинейных уравнений, которые часто используются при расчете химико-технологических систем.

Пусть дано уравнение f(x)=0. Допустим, нам удалось найти такой отрезок [a,b], на котором расположено значение корня x, т.е. а<x<b. В качестве начального приближения корня х0 принимаем середину отрезка x0=(a+b)/2. Далее исследуем значения функции: если f(x0)=0, то х0 является корнем уравнения, т.е. x=x0. Если f(x0)≠0, то выбираем одну из половин отрезка [a,x0] или [x0,b], на концах которой функция f(x) имеет противоположные знаки, т.е. содержит искомый корень, поэтому его принимаем в качестве нового отрезка [x0,b]. Вторую половину отрезка на концах которого знак f(x) не меняется, отбрасываем: в данном случае [a,x0]. Отрезок [x0,b] вновь делим пополам. Новое приближение: x1=(x0+b)/2. Вновь исследуем функцию f(x) на концах отрезка и отбрасываем отрезок [x0,x1] т.к. f(x0)>0 и f(x1)>0. Отрезок [x1,b],на концах которого функция имеет противоположные знаки f (x1)<0, f(b)>0, вновь делим пополам и получаем новое приближение корня x2=(x1+b)/2. и т.д. Итерационный процесс продолжаем до тех пор, пока значение функции f(a) после n -й итерации не станет меньше некоторого заданного малого числа (погрешности).

Метод простых итераций

Метод итераций представляет собой циклический процесс, очередное приближение которого есть корень с определенной точностью.

Исходя их найденного на предыдущем шаге значения хn-1, вычисляем у = f(xn-1). Если |y-xn-1|> eps, то полагают хn=y и выполняют очередную итерацию. Если же |y-xn|<=eps, то приближенные вычисления заканчивают и за решение принимают xn=y.

Рассмотрим пример решения уравнения ех–10х = 0; eps = 0.001 на отрезке [0;6].

Корни х1 и х2 легко отделяются графически. Они являются абсциссами точки пересечения графиков ex с прямой y=10·x. Для определения корня заменим исходное уравнение эквивалентным x = 0.1 ex. На отрезке [0;1] f'(0)=0.1; f'(1)= 0.271; т.к. функция ex монотонная, то 0<f'(x)<1, то есть q = 0.271. В качестве начального приближения выбираем х0=1. Вычисления прекращаются, когда n-f(xn)|<=eps. Последовательные приближения в этом случае таковы: x1= 0.271, x2= 0.131, x3= 0.114, x4 =0.112, x5= 0.111, то есть x1= 0.111 c точностью 0.001.

Для определения второго корня представляем исходное уравнение в виде х=ln(10x). В этом случае эквивалентной функций будет являться f(x)=ln(10x), а f'(x) = 1/x;|1/x |<=0.5, то есть q =0.5. x0 =2, x1 = 2.995, x2 =3.399, x3 = 3.526, x4 = 3.562, x 5=3.576, то есть x1 = 3.576 c точностью 0.001.

 







ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.