">
Математика Математический анализ
Информация о работе

Тема: Вычислительная математика

Описание: Решение СЛАУ итерационными методами. Интерполяционный многочлен ьютона Получение аппроксимирующей функции методом наименьших квадратов. Построение кубического сплайна. Значение функции. Ручной счет по методу Якоби. Результаты выполнения программы.
Предмет: Математика.
Дисциплина: Математический анализ.
Тип: Курсовая работа
Дата: 18.08.2012 г.
Язык: Русский
Скачиваний: 0
Поднять уникальность

Похожие работы:

Кафедра прикладной информатики

Курсовая работа

по

вычислительной математике

Выполнила:

Проверил :

Оценка_____

Дата:_______

2012

Решение СЛАУ итерационными методами

Задание: решить систему линейных уравнений методам Зейделя вручную, на Бейсике с точностью ?=0,00001

3 х 1 +0,7 х 2 +0,2 х 3 +0,2 х 4 =4

0,06 х 1 +5 х 2 +0,5 х 3 +0,5 х 4 =5

1,3 х 1 +0,3 х 2 +3,5 х 3 +0,4 х 4 =-5

0,3 х 1 +0,3 х 2 +0,4 х 3 +4 х 4 =5

Ручной счет по методу Якоби:

х 1 =(4 -0,7 х 2 – 0,2 х 3 - 0,2 х 4 )/ 3

х 2 =(5-0,06 х 1 -0,5 х 3 – 0,5 х 4 )/5

х 3 =(-5-1,3 х 1 -0,3 х 2 -0,4 х 4 )/3,5

х 4 =(5-0,3 х 1 -0,3 х 2 -0,4 х 3 )/4



Первая итерация:

X1(1) =(4 -0,7 *0 – 0,2*0 - 0,2*0)/ 3=1,333333333

X2(1) =(5-0,06*0 -0,5 *0 – 0,5*0 )/5=1

X3(1) =(-5-1,3 *0 -0,3*0-0,4*0)/3,5=-1,428571429

X4(1) =(5-0,3*0 -0,3*0-0,4*0)/4=1,25

Вторая итерация:

X1(2) =(4 -0,7 *1 – 0,2*(-1,428571) - 0,2*1,25)/ 3=1,1119

X2(2) =(5-0,06*1,3333 -0,5 *(-1,428571) – 0,5*1,25 )/5=1,001857

X3(2) = (-5-1,3 *1,3333 -0,3*1 -0,4*1,25)/3,5=-2,15238

X4(2) =(5-0,3*1,3333 -0,3*1 -0,4*(-1,428571))/4=1,217857

Третья итерация:

X1(3) =(4 -0,7 *1,001857 – 0,2*(-2,15238) - 0,2*1,217857)/ 3=1,161868

X2(3) =(5-0,06*1,1119 -0,5 *(-2,15238) – 0,5*1,217857 )/5=1,0801

X3(3) =(-5-1,3 *1,1119 -0,3*1,001857 -0,4*1,217857/3,5=-2,0666

X4(3) = (5-0,3*1,1119 -0,3*1,001857-0,4*(-2,15238))/4=1,3067

Четвертая итерация:

X1(4) =(4 -0,7 *1,0801 – 0,2*(-2,0666) - 0,2*1,3067)/ 3=1,13196

X2(4) =(5-0,06*1,161868 -0,5 *(-2,0666) – 0,5*1,3067 )/5=1,06204

X3(4) =(-5-1,3 *1,161868-0,3*1,0801 -0,4*1,3067)/3,5=--2,10204

X4(4) =(5-0,3*1,161868 -0,3*1,0801-0,4*(-2,0666))/4=1,28851

Пятая итерация:

X1(5) =(4 -0,7 *1,06204 – 0,2*(-2,10204) - 0,2*1,28851)/ 3=1,13975

X2(5) =(5-0,06*1,13196 -0,5 *(-2,10204) – 0,5*1,28851 )/5=1,0677

X3(5) =(-5-1,3 *1,13196-0,3*1,06204 -0,4*1,2885)/3,5=--2,0873

X4(5) =(5-0,3*1,13196 -0,3*1,06204-0,4*(-2,10204))/4=1,29565

Шестая итерация:

X1(5) =(4 -0,7 *1,0677 – 0,2*(-2,0873) - 0,2*1,29565)/ 3=1,1369

X2(5) =(5-0,06*1,13975 -0,5 *(-2,0873) – 0,5*1,29565 )/5=1,0654

X3(5) =(-5-1,3 *1,13975-0,3*1,0677 -0,4*1,29565)/3,5=--2,0915

X4(5) =(5-0,3*1,29565 -0,3*1,0677-0,4*(-2,0873))/4=1,29316

Седьмая итерация:

X1(5) =(4 -0,7 *1,0654 – 0,2*(-2,0915) - 0,2*1,29316)/ 3=1,13794

X2(5) =(5-0,06*1,1369 -0,5 *(-2,0915) – 0,5*1,29316 )/5=1,0661

X3(5) =(-5-1,3 *1,1369-0,3*1,0654 -0,4*1,29316)/3,5=--2,0899

X4(5) =(5-0,3*1,1369 -0,3*1,0654-0,4*(-2,0915))/4=1,29316

Проверка точности:

| X1(5) - X1(4)|=0.0009 <0.001

|X2(5) – X2(4)|=0.0007 <0.001

|X3(5) – X3(4)|=0.0015 <0.001

|X4(5) – X4(4)|=0.0008 <0.001

Точность достигнута.

Программа на Бейсике :

ClS

a=0

b=0

c=0

d=0

1 X1=(4-0.7*b-0.2*c-0.2*d)/3

X2= (5-0.06*a-0.5*c-0.5*d)/5

X3=(-5-1.3*a-0.3*b-0.4*d)/3.5

X4=(5-0.3*a-0.3*b-0.4*c)/4

Print x1, x2, x3, x4

Input t

a=x1

b=x2

c=x3

d=x4

Goto 1

end

Результаты выполнения программы:

1.333333 1 -1.428571 1.25

1.111905 1.001857 -2.152381 1.217857

1.1611868 1.080109 -2.066622 1.306706

1.131969 1.062049 -2.102041 1.288514

1.139757 1.067769 -2.087308 1.2956653

1.139964 1.065488 -2.091507 1.293166

1.137942 1.06619 -2.08999 1.293967

1.137624 1.065947 -2.090505 1.293689

1.137733 1.06603 -2.090334 1.293783

1.137696 1.066002 -2.090393 1.293751

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

Задача: построить интерполяционный многочлен Ньютона вручную использую Excel.

Таблица зависимости значений функции от аргумента X 1 1,2 1,4 1,6 1,8 2  Y 1 2,1 2,9 3,8 5,2 5,9  Ручной счет:

Многочлен Ньютона находится по формуле:



В Excel вычислим коэффициенты 

В столбце А находятся Xi, в столбце B находятся Yi.

Расположение вычисленных коэфициентов: A B C D E F G  1 X0 Y0       2   Y(X0,X1)      3 X1 Y1  Y(X0,X1,X2)     4   Y(X1,X2)  Y(X0,X1,X2,X3)    5 X2 Y2  Y(X1,X2,X3)  Y(X0,X1,X2,X3,X4)   6   Y(X2,X3)  Y(X1,X2,X3,X4)  Y(X0,X1,X2,X3,X4,X5,X6)  7 X3 Y3  Y(X2,X3,X4)  Y(X1,X2,X3,X4,X5)   8   Y(X3,X4)  Y(X2,X3,X4,X5)    9 X4 Y4  Y(X3,X4,X5)     10   Y(X4,X5)      11 X5 Y5       

Формулы вычисления коэффициентов:

,

,  и т.д. ,

 и т.д. ,

 и т.д. , 



Формулы в программе Excel: A B C D E F G  1 1 1       2   =(B3-B1)/(A3-A1)      3 1,2 2,1  =(C4-C2)/(A5-A1)     4   =(B5-B3)/(A5-A3)  =(D5-D3)/(A7-A1)    5 1,4 2,9  =(C6-C4)/(A7-A3)  =(E6-E4)/(A9-A1)   6   =(B7-B5)/(A7-A5)  =(D7-D5)/(A9-A3)  =(F7-F5)/(A11-A1)  7 1,6 3,8  =(C8-C6)/(A9-A5)  =(E8-E6)/(A11-A3)   8   =(B9-B7)/(A9-A7)  =(D9-D7)/(A11-A5)    9 1,8 5,2  =(C10-C8)/(A11-A7)     10   =(B11-B9)/(A11-A9)      11 2 5,9       

Таблица значений: A B C D Е F G  1 1 1       2   5,5      3 1,2 2,1  -3,75     4   4  8,333333333    5 1,4 2,9  1,25  7,32747E-14   6   4,5  8,333333333  -41,66666667  7 1,6 3,8  6,25  -41,66666667   8   7  -25    9 1,8 5,2  -8,75     10   3,5      11 2 5,9       

Нужные коэффициенты выделены жирным. Подставим их в многочлен Ньютона:

N(x)=1+5,5(х-1)-3,75(х-1)(х-1,2)+8,3333(х-1)(х-1,2)(х-1,4)+0(х-1)(х-1,2)(х-1,4)(х-1,6)-41,667(х-1)(х-1,2)(х-1,4)(х-1,6)(х-1,8)=1+(x-1)(5,5-3,75(x-1,2))+(x-1)(x-1,2)(x-1,4)(8,3333-41,6667(x-1,6)(x-1,8))

В результате получим:

N(х)=- 41,6667*x5+291,6668*x4-799,997*x3+1074,585*x2-702,183*x+178,6

Проверим значения полученной функции в заданных точках:

N(1)= - 41,6667*15+291,6668*14-799,997*13+1074,585*12-702,183*1+178,6=1,0051

N(1,2)= - 41,6667*(1,2)5+291,6668*(1,2)4-799,997*(1,2)3+1074,585*(1,2)2-702,183*1,2+178,6=2,1081

N(1,4)= - 41,6667*(1,4)5+291,6668*(1,4)4-799,997*(1,4)3+1074,585*(1,4)2-702,183*1,4+178,6=2,9122

N(1,6)= - 41,6667*(1,6)5+291,6668*(1,6)4-799,997*(1,6)3+1074,585*(1,6)2-702,183*1,6+178,6=3,8176

N(1,8)= - 41,6667*(1,8)5+291,6668*(1,8)4-799,997*(1,8)3+1074,585*(1,8)2-702,183*1,8+178,6=5,2242

N(2)= - 41,6667*25+291,6668*24-799,997*23+1074,585*22-702,183*2+178,6=5,9324

Полученные значения функции c учетом погрешности вычисления совпадают с табличными значениями. Соответственно делаем вывод, что многочлен Ньютона вычислен верно.

Формула в Excel для проверки найденного многочлена Ньютона:

=B1+C2*(A1-A1)+D3*(A1-A1)*(A1-A3)+E4*(A1-A1)*(A1-A3)*(A1-A5)+F5*(A1-A1)*(A1-A3)*(A1-A5)*(A1-A7)+G6*(A1-A1)*(A1-A3)*(A1-A5)*(A1-A7)*(A1-A9)

В ячейку А1 подставляем первое значение Х, для которого требуется узнать значение многочлена, растягиваем формулу до последнего значения.

Таблица результатов в Excel для табличных значений Х: 1 1  1,2 2,1  1,4 2,9  1,6 3,8  1,8 5,2  2 5,9  

Вычисления произведены верно.

Получение аппроксимирующей функции методом наименьших квадратов.

Задача: методом наименьших квадратов получить аппроксимирующую функцию и построить график.

Таблица зависимости значений функции от аргумента X 1 1,2 1,4 1,6 1,8 2  Y 1 2,1 2,9 3,8 5,2 5,9  

Ручной счет:

Наша задача получить функцию вида:





Находя частные производные, получим систему уравнений:



x x^2 x^3 x^4   y y*x y*x^2  Найдем коэффициенты: (n+1)=6 1 1 1 1   1 1 1  1,2 1,44 1,728 2,0736  2,1 2,52 3,024  1,4 1,96 2,744 3,8416  2,9 4,06 5,684  1,6 2,56 4,096 6,5536  3,8 6,08 9,728  1,8 3,24 5,832 10,4976  5,2 9,36 16,848  2 4 8 16  5,9 11,8 23,6  Сумма:

9 14,2 23,4 39,9664  20,9 34,82 59,884  

Получим систему:

6a 0 +9 a 1+14,2 a 2 =20,9

9 a 0+14,2 a 1 +23,4 a 2 =34,82

14,2 a 0 +23,4 a 1 +39,9664 a 2 =59,884

Решим её методом Гаусса.

6a 0 +9 a 1+14,2 a 2 =20,9 /*9

9 a 0+14,2 a 1 +23,4 a 2 =34,82 / *6, вычтем из 1 строки вторую

14,2 a 0 +23,4 a 1 +39,9664 a 2 =59,884

6a 0 +9 a 1+14,2 a 2 =20,9 /*14,2

-4,2 a 1 -12,6 a 2 =-20,82

14,2 a 0 +23,4 a 1 +39,9664 a 2 =59,884 /*6, вычтем из 1 строки третью

6a 0 +9 a 1+14,2 a 2 =20,9

-4,2 a 1 -12,6 a 2 =-20,82 /*(-12,6)

-12,6 a 1 -38,1584 a 2 =-62,524 /*(-4,2)

6a 0 +9 a 1+14,2 a 2 =20,9

-4,2 a 1 -12,6 a 2 =-20,82

-1,5052a 2 =-0,3108

В результате получаем :

a 2 = 0,2064

a 1 =4,3376

a 0 =-3,5415

Коэффициенты вычислены, подставим их в уравнение:

6*(-3,5415)+9 *4,3376+14,2 *0,2064=20,90028

9 *(-3,5415)+14,2*4,3376+23,4*0,2064=34,82018

14,2*(-3,5415)+23,4 *4,3376+39,9664*0,2064=59,8856

Вычисление произведено верно.

Построим график полученной функции y=-3,5415+4,3376*x+0,2064*x2

в Excel:



Подставляя в полученную функцию табличные значение x, посмотрим на отклонения значений функции от табличных: X Y табл Yвыч |Yвыч-Yтабл| ?  1 1 1,100819 0,0325 v(0,0325 2/6 + 0,1091642/6+0,065684 2/6 + 0,1570442/6 +0,235084 2/6 + 0,0893 2/6) =0,132407

 1,2 2,1 2,078844 0,109164   1,4 2,9 3,070273 0,065684   1,6 3,8 4,075106 0,157044   1,8 5,2 5,093342 0,235084   2 5,9 5,31405 0,0893   

Исходные точки.



Отличие графика полученной функции от исходного графика.



Построение кубического сплайна

Задача: построить кубический сплайн по 6 точкам.

Таблица зависимости значений функции от аргумента X 1 1,2 1,4 1,6 1,8 2  Y 1 2,1 2,9 3,8 5,2 5,9  

Вычисления:

Некоторая функция f(x) задана на отрезке [a,b], разбитом на части [xi-1,xi]. На каждом таком отрезке функция S(x) есть полином третьей степени Si(x), коэффициенты которого надо определить. Запишем для удобства Si(x) в виде:

S i (x)= p i + k i (x- x i-1 )+ g i (x- x i-1 ) 2+ l i (x- x i-1 ) 3

Шаг: hi= hi-1=xi-xi-1

Формулы для вычисления коэффициентов:

Для нахождения gi составим систему, состоящую из уравнений:

hi-1*gi-1 +2(h i +h i+1 ) *g i+ h i *g i+1 =3((y i - y i-1) /h i - ( y i-1 - y i-2 )/h i-1 )

где i=2..n

Коэффициенты  можно вычислить методом прогонки, используя формулу:

g i= gi+1*Ui+Vi

После нахождения  необходимо вычислить 



Далее вычисляем 

k i=(y i - y i-1 )/h i -h i /3 *( g i+1 +2*g i )

Коэффициенты  нам известны из таблицы значений функции:

pi=y i-1 где i=1..n

Таким образом, мы найдем все коэффициенты и сможем составить уравнения кусков сплайна для каждого отрезка [xi-1,xi].

Составим систему уравнений для вычисления , она будет состоять из 6 уравнений

0,8 g 2 +0,2 g 3= - 4,5

0,2 g 2 +0,8 g 3+0,2 g 4 =1,5

0,2 g 3 +0,8 g 4+0,2 g 5 =7,5

0,2 g 4 +0,8 g 5= -10,5

Записываем коэффициенты : a b c d  0 0,8 0,2 -4,5  0,2 0,8 0,2 1,5  0,2 0,8 0,2 7,5  0,2 0,8 0 -10,5  Решаем :

U 1=- c1 / b 1 =-0,25

V1=d1 / b 1 =-5,625

А 2=- c2 / (a 2*A1 + b 2 )=-0,26667

V 2= (d2 - a 2*A1 )/( (a 2*A1 + b 2 )=3,5

U 3=- c3 / (a 3*A2 + b 3 )=-0,26786

V 3= (d3 - a 3*A2 )/( (a 3*A2 + b 3 )= 9,107143

U 4=0 ,т.к. с4 =0

V 4= (d4 - a 4*A3)/( (a 4*A3 + b 4 )= -16,5072

Обратный ход:

g5 = V4 = -16,5072

g4 =U3* g3+ V3 =13,52871

g3=U2* g2+ V2 =-0,10766

g2=U1* g1 + V1 =-5,59809

g 1= g 6=0

Невязки:

r 0=0.00000000001

r 1=0.00000000000

r 2=-0.00000000000

r 3=-0.00000000000

r 4=0.00000000001

r 5=0.00000000000

Коэффициенты:

p 1=1 k 1=5,873205 l 1= -9,330131 g 1=0

p 2=2,1 k 2=4,753589 l 2= 9,150691 g2 = -5,598079

p3=2,9 k 3=3,612441 l 3= 22,72728 g3 =0,1076636

p 4=3,8 k 4=6,296649 l 4=-50,05979 g4 =13,52871

p 5=5,2 k 5=5,700957 l 5=27,51195 g5 = -16,50717

p 6=5,9 k6=0 l6= 0 g 6=0

Находим полином третьей степени:

S 1(x)=1+5,873205*(x-1) +0*(x-1) 2 +(-9,330131)*(x-1) 3=

= 4,45693-22.1172x+27,9904x2 -9,33013x3

S 2(x)=2,1+4,753589*(x-1,2) +(-5,598079)*(x-1,2) 2 +9,150691*(x-1,2) 3=

= -27,4779+57,72 x-38,5406x2 +9,15069x3

S 3(x)=2,9+3,612441*(x-1,4) +0,1076635*(x-1,4) 2+22,72728*(x-1,4) 3 =

= -64,3101+136,947 x-95,3469x2 +22,7273x3

S 4(x)=3,8+6,296649*(x-1,6) +13,52871*(x-1,6 )2+(-50,05979)*(x-1,6) 3=

= 233,404-421,454 x+253,816x2 -50,0598x3

S 5(x)=5,2+5,700957*(x-1,8) -16,50717*(x-1,8) 2 +27,51195*(x-1,8) 3=

=-218,995+332,543 x- 165,072x2+27,512x 3

По этим многочленам построим график в Excel



Программа для вывода коэффициентов каждого куска сплайна

Cls

Input n

Dim x(n), y(n), a(n), b(n), c(n), d(n)

Data 1, 1.2, 1.4, 1.6, 1.8, 2 [вводим значения X(i)]

Data 1, 2.1, 2.9, 3.8, 5.2, 5.9 [вводим значения Y(i)]

Data 0, 0.2, 0.2, 0.2 [вводим значения коэффициентов a(i) из системы уравнений для вычисления ]

Data 0.8, 0.8, 0.8, 0.8 [ вводим значения коэффициентов b(i) из системы уравнений для вычисления ]

Data 0.2, 0.2, 0.2, 0 [вводим значения коэффициентов c(i) из системы уравнений для вычисления ]

For i=1 to n

Read x(i)

Next i

For i=1 to n

Read y(i)

Next i

For i=1 to n-2

d(i)=3*((y(i+2)-y(i+1))/0.2-(y(i+1)-y(i))/0.2) [вычисление коэффициента d(i) из системы уравнений для вычисления ]

Next i

For i=1 to n-2

Read a(i)

Next i

For i=1 to n-2

Read b(i)

Next i

For i=1 to n-2

Read c(i)

Next i

For i=1 to n-2

u(i)=-c(i)/(a(i)*u(i-1)+b(i)) [прогоночный коэффициент ]

v(i)=(d(i)-a(i)*v(i-1))/(a(i)*u(i-1)+b(i)) [прогоночный коэффициент ]

next i

for i=n to 1 step-1

g(i)=u(i)*g(i+1)+v(i) [вычисляется gi из уравнения]

next i

for i=1 to n

k(i)=(y(i+1)-y(i))/0.2-0.2/3*(g(i)+2*g(i-1)) [вычисляется коэффициент сплайна]

next i

for i=1 to n-1

l(i)=(g(i)-g(i-1))/0.6 )) [вычисляется коэффициент сплайна]

next i

for i=1 to n

p(i)=y(i)

next i

for i=1 to n-1

print p(i) , k(i), l(i), g(i)

next i

end.

Ответ:

p 1=1 k 1=5.873205 l 1= -9.330131 g 1=0

p 2=2.1 k 2=4.753589 l 2= 9.150691 g2 = -5.598079

p 3=2.9 k 3=3.612441 l 3= 22.72728 g3 =0.1076636

p 4=3.8 k 4=6.296649 l 4=-50.05979 g4 =13.52871

p 5=5.2 k 5=5.700957 l 5=27.51195 g5 = -16.50717

p 6=5.9 k 6=0 l 6= 0 g6=0

Вычислить значение функции х0=1,75

Задача: Вычислить значение функции х0=1,75 использую полученную аппроксимирующую функции:

N(1,75)=- 41,6667*(1,75)5+291,6668*(1,75)4-799,997*(1,75)3+1074,585(1,75)x2-702,183*(1,75)+178,6=4,849

Вычисляем значение функции х0=1,5 использую полученную аппроксимирующую функцию методом наименьших квадратов :

y=-3,5115+4,3376*х+0,2064*х2==-3,5115+4,3376*1,75+0,2064*1,752=4,7114

Вычисляем значение функции х0=1,75 использую полученную полином третьей степени S(x):

S (1,75)= 232,757-50,0598*1,75^3+253,816*1,75^2-421,05*1,75=4,941759

Содержание

Решение СЛАУ итерационными методами……………………………………..2

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

Получение аппроксимирующей функции методом наименьших квадратов..10

Построение кубического сплайна………………………………………………14

Вычислить значение функции х0=1,75…………………………………..……..20