Автор работы: Пользователь скрыл имя, 13 Ноября 2013 в 15:25, задача
Т.к. у нас постоянный шаг, то для нахождения значений функции будем использовать первую и вторую интерполяционные формулы Ньютона. Значение Y(0.1804) попадает в начало таблицы, поэтому используем первую формулу Ньютона.
Пермский Государственный
Технический Университет
Кафедра Автоматики и Телемеханики
Расчетная работа №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. Начальный отрезок определить либо уточненным, либо модифицированным методом Эйлера.
Решение:
Начальный отрезок определяем исправленным методом Эйлера:
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
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