Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Hungry / Расчетка №2

.doc
Скачиваний:
36
Добавлен:
09.12.2013
Размер:
307.71 Кб
Скачать

Пермский Государственный

Технический Университет

Кафедра Автоматики и Телемеханики

Расчетная работа №2

по курсу

«Вычислительные методы»

Вариант №95

Выполнил:

студент гр. КРЭС-04

Ефремов М. М.

Проверила:

Леготкина Т.С

г. Пермь, 2006 г.

Задание №1

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

X

0.18000

0.18500

0.19000

0.19500

0.20000

0.20500

Y

5.51643

5.46693

5.32634

5.19304

5.06649

4.94619

Y(0.1976) - ? Y(0.1809) - ?

Решение:

Т.к. у нас постоянный шаг, то для нахождения значений функции будем использовать первую и вторую интерполяционные формулы Ньютона. Значение Y(0.1804) попадает в начало таблицы, поэтому используем первую формулу Ньютона.

1я Формула Ньютона:

2я Формула Ньютона:

Ответ:

Задание №2

Используя квадратичную интерполяцию, вычислить значение функции при заданном значении аргумента. Предварительно убедиться в применимости формулы, для чего выбрать 6 значений из таблицы Брадиса и составить таблицу разностей.

cos(0.1458) - ?

Решение:

Вычисленное значение косинуса на калькуляторе cos(0.1458)= 0.9893899953

Т.к. Δ3Y<<Y, то берем до Δ2Y

h=0.05

X

Y=cos(X)

ΔY

Δ2Y

0,145

0.989506

0,150

0.988771

0,155

0.988012

0,160

0.987227

0,165

0.986418

0,170

0.985585

По первой формуле Ньютона:

Ответ: cos(0.1458)= 0.9893899953 – вычислено на ЭВМ

cos(0.1458)= 0.9893899945 – расчет по формуле

Задание №3

Вычислить интеграл по формуле трапеций и по формуле Симпсона. Оценить погрешность результата для n=4, n=8.

Решение:

Формула трапеций:

Формула Симпсона:

Погрешность рассчитывалась по формуле двойного пересчета: ,

где для формулы трапеций n=2, для формулы Симпсона – n=4.

Для сравнения приведено точное значение интеграла, рассчитанное в программе MathCAD 2001:

Рассчитаем интеграл для n=4

x

1.9

2.3

2.7

3.1

3.5

y

0.619

0.4828

0.3987

0.3408

0.2981

По формуле трапеции:

По формуле Симпсона:

Рассчитаем интеграл для n=8

x

1.9

2.1

2.3

2.5

2.7

2.9

3.1

3.3

3.5

y

0.619

0.5415

0.4828

0.4364

0.3987

0.3674

0.3408

0.318

0.2981

По формуле трапеции:

По формуле Симпсона:

Найдем погрешность вычислений:

Ответ:

n | Метод Трапеций | Метод Симпсона

4 | 0.672357 | 0.66884

8 | 0.667866 | 0.667668

Погр.: 0.001172 | 0.0000132

Точное значение: 0.6676515 (MathCAD_2001)

Задание №4

Используя метод Милна, составить таблицу приближенных значений интеграла дифференциального уравнения y’=f(x,y), удовлетворяющего условиям y(x0)=y0 на отрезке (0, 1); шаг h=0.1. Начальный отрезок определить либо уточненным, либо модифицированным методом Эйлера.

y(0)=0.6

Решение:

Начальный отрезок определяем исправленным методом Эйлера:

h=0.1

1я формула Милна:

2я формула Милна:

По первой формуле определяем прогнозируемое значение, а по второй считаем корректируемое значение.

Задание №5

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

Решение:

Формулы:

для прямой прогонки:

для обратной прогонки:

можно определить из второго краевого условия:

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

a=1.3 b=1.6 h=0.05

Прямой прогон

Пусть:

Находим Ci и di

Обратный прогон

Проверка

Ответ:

N X Y

0 1.3000 0.21772

1 1.3500 0.20404

2 1.4000 0.19114

3 1.4500 0.17914

4 1.5000 0.1682

5 1.5500 0.15844

6 1.6000 0.15

Задание №6

Используя метод сеток, составить решение смешанной задачи для уравнения колебания струны . Решение выполнить с шагом h=0.1.

С начальными условиями:

U(x,0)=f(x)=0.5x*(x+1)

Ut(x,0)=Ф(x)=x*cosx

0<x<1

И краевыми условиями:

U(0,t)=Q(t)=2t*t

U(10,t)=G(t)=1

0<t<1

π=3,14159265359

Решение:

Вначале считаем значения в граничных узлах:

при k=0: , где

при i=0: , где

при i=10: , где .

Для k=1 значения можно посчитать по формуле:

, где

Дальнейший расчет производим по формуле:

Program Metod_Setok;

Const h=0.1; a=0; b=1; n=round((b-a)/h);

Var result :text;

arr :array [0..n, 0..n] of real;

i,k :integer;

x,t :real;

Function F(x:real):real;

begin

f:=0.5*x*(x+1);

end;

Function Ft(x:real):real;

begin

ft:=x*cos(x);

end;

Function Q(t:real):real;

begin

q:=2*t*t;

end;

Function G(t:real):real;

begin

g:=1;

end;

Begin

for i:=0 to n do begin

x:=a+i*h;

arr[i,0]:=F(x);

end;

for k:=0 to n do begin

t:=a+k*h;

arr[0,k]:=Q(t);

end;

for k:=0 to n do begin

t:=a+k*h;

arr[10,k]:=G(t);

end;

for i:=1 to n-1 do begin

x:=a+i*h;

arr[i,1]:=arr[i,0]+h*Ft(x);

end;

for k:=2 to n-2 do begin

for i:=1 to 9 do begin

arr[i,k]:=arr[i+1,k-1]+arr[i-1,k-1]-arr[i,k-2];

end;

end;

assign(result, 'Table_of_Result.txt');

rewrite(result);

write (result, ' i ');

for i:=0 to n do begin

write(result, i:8);

end;

writeln(result);

writeln(result,'k');

for k:=0 to n do begin

write(result,' ');

write(result, k:2);

for i:=0 to 10 do begin

write(result, arr[i,k]:8:3);

end;

writeln(result);

end;

close(result);

End.

Ответ:

i 0 1 2 3 4 5 6 7 8 9 10

k

0 0.000 0.055 0.120 0.195 0.280 0.375 0.480 0.595 0.720 0.855 1.000

1 0.020 0.065 0.140 0.224 0.317 0.419 0.530 0.649 0.776 0.911 1.000

2 0.080 0.105 0.169 0.261 0.363 0.471 0.587 0.710 0.839 0.921 1.000

3 0.180 0.184 0.226 0.307 0.416 0.531 0.652 0.778 0.855 0.929 1.000

4 0.320 0.302 0.323 0.381 0.476 0.597 0.722 0.797 0.867 0.935 1.000

5 0.500 0.459 0.456 0.491 0.562 0.667 0.742 0.811 0.876 0.939 1.000

6 0.720 0.655 0.627 0.637 0.682 0.707 0.756 0.821 0.883 0.942 1.000

7 0.980 0.889 0.835 0.818 0.782 0.771 0.786 0.827 0.886 0.944 1.000

8 1.280 1.161 1.079 0.980 0.907 0.861 0.843 0.851 0.889 0.945 1.000

9 1.620 1.471 1.306 1.169 1.060 0.979 0.927 0.904 0.910 0.945 1.000

10 2.000 1.765 1.560 1.385 1.240 1.125 1.040 0.985 0.960 0.965 1.000

Соседние файлы в папке Hungry