Численные методы

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

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 27.02.2012
Размер файла 177,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

max xi(3) - xi(2) .

1i3

x1(3) - x1(2) = 2.152-1.583= 0.469

x2(3) - x2(2) = - 1.945+ 1.569= 0.376

x3(3) - x3(2) = 2.024-1.788= 0.236

3. Численные методы решения систем нелинейных уравнений

Требуется решить систему нелинейных уравнений вида:

F1(x1,x2,x3,...,xn) = 0

F2(x1,x2,x3,...,xn) = 0

. . . . . . . . . . . (3.1)

Fn(x1,x2,x3,...,xn) = 0

3.1 Метод простой итерации (метод Якоби)

Систему нелинейных уравнений (3.1) после преобразований

xi =xi - Fi(x)/Mi ; i=1, 2, 3, ..., n

(здесь Mi определяются из условия сходимости), представим в виде:

x1 =f1(x1,x2,x3,...,xn)

x2 =f2(x1,x2,x3,...,xn)

. . . . . . . . . . . (3.2)

xn =fn(x1,x2,x3,...,xn)

Из системы (2.3) легко получить итерационные формулы метода Якоби. Возьмем в качестве начального приближения какую-нибудь совокупность чисел x1(0),x2(0),...,xn(0). Подставляя их в правую часть (3.2) вместо переменных x1,x2,...,xn получим новое приближение к решению исходной системы:

x1(1) =f1(x1(0),x2(0),x3(0),...,xn(0))

x2(1) =f2(x1(0),x2(0),x3(0),...,xn(0))

. . . . . . . . . . . (3.3)

xn(1) =fn(x1(0),x2(0),x3(0),...,xn(0))

Эта операция получения первого приближения x1(1),x2(1),...,xn(1) решения системы уравнения (3.2) называется первым шагом итерации. Подставляя полученное решение в правую часть уравнения (3.2) получим следующее итерационное приближение: (x1(2),x2(2),...,xn(2)) и т.д.

Итерационный процесс можно считать законченным, если все значения переменных, полученных k+1-ой итерации, отличается от значений соответствующих переменных, полученных от предыдущей итерации, по модулю меньше наперед заданной точности , т.е. если:

maxxi(k+1) -xi(k) . (3.4)

1in

3.2 Метод Зейделя

Метод Зейделя отличается от метода Якоби тем, что вычисления ведутся не по формулам (3.3), а по следующим формулам:

x1(k+1) =f1(x1(k),x2(k),x3(k),....,xn(k))

x2(k+1) =f2(x1(k+1),x2(k),x3(k),....,xn(k))

. . . . . . . . . . . (3.5)

xn(k+1) =fn(x1(k+1),x2(k+1),x3(k+1),...,xn(k)).

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

Сходимость метода Зейделя (Якоби тоже) зависит от вида функции в (3.2), вернее она зависит от матрицы составленной из частных производных:

f11 f12 f13 ... f1n

F = f21 f22 f23 ... f2n

. . . . . . . . . . . (3.6)

fn1 fn2 fn3 ... fnn

где fij = fi(x1,x2,...xn)/xj.

Итерационный процесс сходится, если сумма модулей каждой строки F меньше единицы в некоторой окрестности корня:

fi1fi2fi3....fin ; i=1, 2, 3, ..., n

n

или max fij .

1in j =1

Пример: Найти решение системы (3.7) методом Зейделя с точностью =0,001.

F(x,y)=2sin(x+1)-y-0.5 = 0 (3.7)

G(x,y)=10cos(y-1)-x+0.4 = 0

Решение: Представим (3.7) в виде (3.5):

x = f1(x,y) = x-(2sin(x+1)-y-0,5)/M1 (3.8)

y = f2(x,y) = y-(10cos(y-1)-x+0,4)/M2

Строим графики кривых системы (3.7) и определяем начальные приближения x0=-1, y0=-0,7.

Запишем достаточное условие сходимости и определяем M1, M2:

f1x f1y 1-2cos(x+1)/ M1 1/ M1

F = =

f2x f2y -1/M2 1+10sin(y-1)/M2

1-2cos(x0+1)/M1+1/M1 и -1/M2+1+10sin(y0-1)/M2 ,

1-2cos(1-1)/M1+1/M1 и -1/M2+1+10sin(-0,7-1)/M2 ,

1-2/M1+1/M1 и -1/M2+ 1-9,91665/M2 ,

Определяем частные значения M1=2, M2=10, которые удовлетворяют неравенствам

1-2/2+1/2 и 1/10+ 1-9,91665/10 ,

Переходим к реализации итерационного процесса:

xk+1 = xk-(2·sin(xk+1)-yk-0,5)/2

yk+1 = yk-(10·cos(yk -1)-xk+1+0,4)/10

x1=x0-(2·sin(x0+1)-y0-0,5)/2= -1-(2·sin(-1+1)+0,7-0,5)/2=-1,1

y1=y0-(10·cos(y0-1)-x1+0,4)/10=

=-0,7-(10·cos(-0,7-1)+ 1,1+0,4)/10=-0,72116

x2=x1-(2·sin(x1+1)-y1-0,5)/2=

=-1,1-(2·sin(-1,1+1)+ 0,72116-0,5)/2=-1,11075

y2=y1-(10·cos(y1-1)-x2+0,4)/10=

=-0,72116-(10·cos(-0,72116-1)+1,11075+0,4)/10=-0,72244

x3=x2-(2·sin(x2+1)-y2-0,5)/2=

=-1,11075-(2·sin(-1,11075+1)+ 0,72244-0,5)/2=-1,11145

y3=y2-(10·cos(y2-1)-x3+0,4)/10=

=-0,72244-(10*cos(-0,72244-1)+1,11145+0,4)/10=-0,72252

Определяем погрешность по формуле

maxxi(k+1) -xi(k) .

1in

x3 -x2 -1,11145+1,11075= 0,0007 =0,001

y3 - y 2 -0,72252+0,72244= 8E-05 =0,001

Таким образом, имеем решение: x =-1,11145; y =-0,72252.

Программа, реализующая решение данной задачи, представлена на рис.3.2.

CLS

REM LR-3-2, m=13, n=5

INPUT X,Y, M1,M2

1 X=X-(2*SIN(X+1)-Y - 0.5)/M1

Y=Y-(10*COS(Y-1)-X+0.4)/M2

PRINT X,Y

INPUT TT

GOTO 1

END

Рис.3.2. Программа решения методом Зейделя.

3.3 Метод Ньютона

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

F(x, y)=0

G(x, y)=0 (3.9)

Пусть известно некоторое приближение xk,yk корня x,y. Тогда поправки xk=xk+1-xk, yk+yk+1-yk можно найти решая систему:

F(xk+xk, yk+yk)=0

G(xk+xk, yk+yk)=0. (3.10)

Для этого разложим функции F, G в ряд Тейлора по xk, yk. Сохранив только линейные по xk, yk части, получим систему линейных уравнений:

F(xk,yk) F(xk,yk)

xk + yk = - F(xk,yk)

x y

(3.11)

G(xk,yk) G(xk,yk)

xk + yk = - G(xk,yk)

x y

относительно неизвестных поправок xk и yk. Решая эту систему линейных уравнений, определяем значения xk, yk.

Таким образом, решение системы уравнений по методу Ньютона состоит в построении итерационной последовательности:

xk+1 =xk +xk

yk+1 =yk +yk (3.12)

где xk, yk - решения систем линейных уравнений, вида (3.11) на каждом шаге итерации. В методе Ньютона также для обеспечения хорошей сходимости важен правильный выбор начального приближения.

Пример: Найти решение системы (3.7) методом Ньютона с точностью =0,001.

F(x,y)=2·sin(x+1)-y-0.5 = 0

G(x,y)=10·cos(y-1)-x+0.4 = 0 (3.13)

методом Ньютона, при этом добиться точности 0.001.

Решение: Начальные приближения x0=-1 и y0=-0,7. Определим частные производные:

F(x, y) F(x, y)

= 2·cos(x+1); = -1;

x y

G(x, y) G(x, y)

-1; = -10·sin(y-1).

x y

и используя (3.11), построим систему линейных уравнений относительно поправок

2·cos(x0+1) · x0 -1 · y0 = - 2·sin(x0+1)+y0+0.5

-1· x0 -10·sin(y0 -1) · y0 = - 10·cos(y0 -1)+x0 -0.4

Подставляя начальные приближения x0=-1; y0=-0,7 и решая систему линейных уравнений определяем поправки на первом шаге итерации

x0=-0,1112 y0=-0,0225

Далее начальное приближение уточняем по формулам (3.12)

x1 =x0 +x0= - 1 - 0,1112 = - 1,1112

y1 =y0 +y0= - 0,7 - 0,0225= - 0,7225

Подставляя результаты первой итерации x1=-1,1112; y1=-0,7225 и решая систему линейных уравнений

2·cos(x1+1) · x1 -1 · y1 = - 2·sin(x1+1)+y1+0.5

-1· x1 -10·sin(y1 -1) · y1 = - 10·cos(y1 -1)+x1 -0.4

определяем поправки на втором шаге итерации

x1=0,00026 y1=0,00004

Далее x1 и y1 уточняем по формулам (3.12)

x2 =x1 +x1= -1,1112+0,00026= - 1,1115

y2 =y1 +y1=-0,7225+0,00004= - 0,7225

Определяем погрешность по формуле

maxxi(k+1) -xi(k) .

1in

x2 -x1 или x1 0,00026 =0,001

y2 - y1 или y1 0,00004 =0,001

Таким образом имеем решение: x = - 1,1115; y = - 0,7225.

Программа реализующая метод Ньютона для указанной задачи представлена на рис. 3.3.

REM LR-3-3, m=13, n=5

INPUT X, Y

1 F = 2*SIN(X+1)-Y - 0.5

G = 10*COS(Y-1)-X+0.4

Fx =2*COS(X+1)

Fy =-1

Gx =-1

Gy =-10*SIN(Y-1)

D = Fx*Gy- Gx*Fy

DX=(G*Fy-F*Gy)/D

DY=(F*Gx-G*Fx)/D

X =X+DX

Y =Y+DY

PRINT X;Y; F;G;DX;DY;

INPUT TT

GOTO 1

END

Рис.3.3. Программа, реализующая метод Ньютона

4.1 Приближение функции по методу наименьших квадратов (МНК)

Очень часто в практической работе возникает необходимость найти в явном виде функциональную зависимость между величинами x и y, которые получены в результате измерений.

Как правило, общий вид этой функциональной зависимости или так называемой эмпирической формулы известен, а некоторые числовые параметры закона неизвестны.

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

S = (y(xi)-yi)2 (4.1)

где xi, yi - значения опытных данных y(xi) - значение функции, вычисленное в точке xi ; n - число опытов.

В случае линейной эмпирической формулы (4.1) принимает вид:

S(a,b) = (axi + b - yi)2 min (4.2)

Функция (4.2) имеет минимум в точках, в которых частные производные от S по параметрам a и b обращаются в нуль, т.е.

S(a,b)/a=0, S(a,b)/b=0 (4.3)

2(a xi+ b - yi) xi = 0

2(a xi+ b - yi) = 0

axi2 + bxi =xi yi

axi + b n = yi (4.4)

Решая систему уравнений (4.4), получим значения a и b уравнения y=ax+b. Пример: Подобрать аппроксимирующий полином первой степени y=ax+b для данных

xi 0 1 2 3

yi 0.1 0.9 2.1 3

Решение: Для удобства вычисленные значения расположим в таблице.

Система для определения коэффициентов имеет вид:

14 a + 6 b = 14.1

6 a + 4 b = 5.1 (4.5)

Решая систему (4.5), получим следующие значения параметров a=1.29; b=-0.675. Следовательно, искомый полином имеет вид y= 1.29 x - 0.67.

В случае квадратичной зависимости (4.1) принимает вид:

S(a,b,c) = (axi2 + bxi + c - yi)2 min (4.6)

Функция (4.6) имеет минимум в точках, в которых частные производные от S по параметрам a, b, c обращаются в нуль:

S(a,b,c)/a=0, S(a,b,c)/b=0, S(a,b,c)/c=0 (4.7)

В результате дифференцирования и элементарных преобразований для определения параметров получают систему линейных уравнений:

S(a,b,c)/a = 2 (axi2 + bxi + c - yi) xi2=0

S(a,b,c)/b = 2 (axi2 + bxi + c - yi) xi=0

S(a,b,c)/c = 2 (axi2 + bxi + c - yi) *1=0

Система линейных уравнений состоит из трех уравнений с тремя неизвестными:

axi4 + bxi 3 + c xi2 =xi2 yi

axi3 + bxi 2 + c xi =xi yi (4.8)

axi2 + bxi + c n = yi

Решая систему линейных уравнений (4.8) получим значения a, b, c уравнения y=ax2+bx+c.

Пример: Используя МНК построить эмпирическую зависимость y=ax2+bx+c, аппроксимирующую следующие табличные значения:

xi -2 -1 0 1 2

yi 6 2 -1 -2 -1

Тогда система линейных уравнений (4.8) относительно значений a, b, c примет вид:

34 a+ 0 b+10 c= 20

0 a+10 b+ 0 c= -18 (4.9)

10 a+ 0 b+ 5 c = 4

Решая систему (4.9) получим следующие значения параметров a=0.857; b=-1.8; c=-0.914. Таким образом, искомый полином имеет вид:

y=0.857 x2 - 1.8 x - 0.914.

По таблице 4.3 можно определить сумму квадратов отклонений экспериментальных данных yi от расчетных yi S=0.112.

Каким образом можно уменьшить погрешность S ? Для этого необходимо увеличить число коэффициентов полинома y. Это приведет к увеличению размерности системы. Таким образом, стараясь улучшить расчеты, т.е. уменьшить погрешность, приходится увеличивать объем вычислений.

4.2 Интерполяционный полином в форме Лагранжа

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

Пусть на некотором промежутке [a,b] заданы n различных узлов x1,x2,x3, ..., xn, а также значения некоторой функции y1,y2,y3, ..., yn в этих узлах. Необходимо построить полином P(x), проходящий через заданные точки, т.е.

P(xi)=yi

Этот полином называется интерполяционным полиномом, является единственным полиномом степени не выше n-1, и может быть записан, например, в форме Лагранжа или Ньютона.

Интерполяционный полином Лагранжа имеет следующую формулу:

P(x)= Ln-1(x)=i li(x), (4.10)

(x-x1)...(x-xi-1)(x-xi+1)...(x-xn)

где li(x) =

(xi-x1)...(xi-xi-1)(xi-xi+1)...(xi-xn)

фундаментальные полиномы Лагранжа. Они удовлетворяют равенствам

1, если i = k

lk(xi) = (4.11)

0, если i k ,

и зависят лишь от заданных узлов xi , но не от интерполируемой функции yi .

Необходимо построить интерполяционный полином Лагранжа, проходящий через заданные точки

Ln-1(xi)=yi , i=1,2,...,n.

Решение. Запишем фундаментальные полиномы Лагранжа:

(x-x2)(x-x3)(x-x4) (x-0)(x-1/2)(x-1)

l1(x)= = = - (x3-3/2 x2+1/2 x)/3,

(x1-x2)(x1-x3)(x1-x4) (-1-0)(-1-1/2)(-1-1)

(x-x1)(x-x3)(x-x4) (x+1)(x-1/2)(x-1)

l2(x)= = = 2(x3-1/2 x2- x+1/2),

(x2-x1)(x2-x3)(x2-x4) (0+1)(0-1/2)(0-1)

(x-x1)(x-x2)(x-x4) (x+1)(x-0)(x-1)

l3(x)= = = -8(x3- x)/3,

(x3-x1)(x3-x2)(x3-x4) (1/2+1)(1/2-0)(1/2-1)

(x-x1)(x-x2)(x-x3) (x+1)(x-0)(x-1/2)

l4(x)= = = 1(x3+1/2 x2- 1/2x).

(x4-x1)(x4-x2)(x4-x3) (1+1)(1-0)(1-1/2)

Например, для l4(x) можно проверить свойство (5.2).

l4(-1)=0, l4(0)=0, l4(1.2)=0, l4(1)=1.

Подставляя li(x) в полином Лагранжа находим:

L3(x)=y1 l1(x)+y2 l2(x)+y3 l3(x)+y4 l4(x) =

= 0 l1(x)+2 l2(x)+9/8 l3(x)+0 l4(x) = x3 - 2 x2 - x + 2.

4.3 Интерполяционный полином в форме Ньютона

Запишем интерполяционный полином в форме Ньютона:

Nn-1(x)= y1+1(x1,x2)(x-x1)+ 2(x1,x2,x3)(x-x1)(x-x2)+...

+ n-1(x1,x2,...,xn-1)(x-x1)...(x-xn-1), где

0i = yi,

1(xi,xk)=(0i - 0k)/(xi-xk) - разделенная разность первого порядка,

2(xi,xj,xk)=(1(xi,xj)-1(xj,xk))/(xi-xk) - разделенная разность второго порядка,

3(xi,xj,xl,xk)=(2(xi,xj,xl)-2(xj,xl,xk))/(xi-xk) - разделенная разность третьего порядка и т.д.

Для заданной таблицы 4.4 построим интерполяционный полином в форме Ньютона

N3(xi)=yi .

Расчеты представим в виде таблицы 4.5.

Таблицы 4.5

i

xi

yi

1(i,k)

2(i,j,k)

3(i,j,l,k)

1

-1

0

2

2

0

2

-5/2

-7/4

1

3

1/2

9/8

-1/2

-9/4

4

1

0

1(1,2)=(y1 - y2)/(x1 -x2)=(0-2)/(-1-0)=2,

1(2,3)=(y2 - y3)/(x2 -x3)=(2-9/8)/(0-1/2)= -7/4,

1(3,4)=(y3 - y4)/(x3 -x4)=(9/8-0)/(1/2-1)= -9/4,

2(1,2,3)=(1(1,2)-1(2,3))/(x1 -x3)=(2+7/4)/(-1-1/2)= -5/2,

2(2,3,4)=(1(2,3)-1(3,4))/(x2 -x4)=(-7/4+9/4)/(0-1)= -1/2,

3(1,2,3,4)=(2(1,2,3)-2(2,3,4))/(x1-x4)=(-5/2+1/2)/(-1-1)=1,

N3(x)=(1)+(1,2)(x-x1)+(1,2,3)(x-x1)(x-x2)+

+(1,2,3,4)(x-x1)(x-x2)(x-x3)=

=0+2(x+1)-5/2(x+1)x+1(x+1)(x-1/2)=x3 -2x2-x+2.

ЛИТЕРАТУРА

1. Калиткин Н.П. Численные методы. М.: Наука, 1978. - 512 с.

2. Солодовников А.С. Введение в линейную алгебру и линейное программирование. М.: Просвещение, 1966. - 183 с.

3. Химмельблау Д. Прикладное нелинейное программирование. М.: Мир, 1975. - 534 с.

4. Попов В.И. Численные методы расчета мостовых конструкций на ЭВМ. М.: 1981. - 78 с.

5. Монахов В.М. и др. Методы оптимизации. Применение математических методов в экономике. М., Просвещение, 1978. - 175 с.

6. Информатика. Методические указания к лабораторным работам. «Численные методы решения задач строительства на ЭВМ» для студентов специальности 2910.//Казанская государственная архитектурно-строительная академия; Сост.: Габбасов Ф.Г., Гатауллин И.Н., Киямов Х.Г. - Казань:, 1998. -50 с.

Размещено на Allbest.ru


Подобные документы

  • Численные методы решения нелинейных уравнений, систем линейных и нелинейных алгебраических уравнений, дифференциальных уравнений, определенных интегралов. Методы аппроксимации дискретных функций и методы решения задач линейного программирования.

    методичка [185,7 K], добавлен 18.12.2014

  • Численные методы решения задач. Решение алгебраических и трансцендентных уравнений. Уточнение корня по методу половинного деления. Решение систем линейных уравнений методом итераций. Методы решения дифференциальных уравнений. Решение транспортной задачи.

    курсовая работа [149,7 K], добавлен 16.11.2008

  • Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.

    курсовая работа [435,8 K], добавлен 15.06.2013

  • Численные методы решения задач, сводящиеся к арифметическим и некоторым логическим действиям над числами, к действиям, которые выполняет ЭВМ. Решение нелинейных, системы линейных алгебраических, обыкновенных дифференциальных уравнений численными методами.

    дипломная работа [1,4 M], добавлен 18.08.2009

  • Метод половинного деления как один из методов решения нелинейных уравнений, его основа на последовательном сужении интервала, содержащего единственный корень уравнения. Алгоритм решения задачи. Описание программы, структура входных и выходных данных.

    лабораторная работа [454,1 K], добавлен 09.11.2012

  • Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.

    курсовая работа [1,6 M], добавлен 20.01.2010

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

    курсовая работа [539,2 K], добавлен 15.06.2013

  • Численные методы линейной алгебры. Матричный метод. Методы Крамера и Гаусса. Интерации линейных систем. Интерации Якоби и Гаусса - Зейделя. Листинг программы. Численные методы в электронных таблицах Excel и программе MathCAD, Microsoft Visual Basic

    курсовая работа [1,2 M], добавлен 01.06.2008

  • Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.

    курсовая работа [532,9 K], добавлен 14.01.2014

  • Решение уравнения методом половинного деления. Программа в Matlab для уравнения (x-2)cos(x)=1. Решение нелинейных уравнений методом Ньютона. Интерполяция заданной функции. Решение системы линейных алгебраических и обыкновенных дифференциальных уравнений.

    курсовая работа [1,4 M], добавлен 15.08.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.