75 группа 2 вариант / Численные методы моделирования / Лабораторные работы
.docxЛабораторная работа №1. Беляев А.Н. 3-75
Вычислить значение производной функции y=2e-xcos(20x+10) в точке x=1 аналитически и численно тремя методами для пяти значений приращения аргумента Δx=1 ; 0.5 ; 0.1 ; 0.01 ; 0.001 .
Программа:
function LR1
function y=f(x);y=2*exp(-1*x)*cos(20*x+10); end
dx=[1 0.5 0.1 0.01 0.001 ]
x=1;dya=[14.426 14.426 14.426 14.426 14.426];
for i=1:5
dy1(i)=(f(x+dx(i))-f(x))/dx(i);
dy2(i)=(f(x)-f(x-dx(i)))/dx(i);
dy3(i)=(f(x+dx(i))-f(x-dx(i)))/2/dx(i);
end
[dx' dya' dy1' dy2' dy3']
plot(dx,dya,dx,dy1,dx,dy2,dx,dy3)
end
Результат выполнения:
x |
y(x) |
y'(x) |
|||
1 |
1 |
14.426 |
0.1477 |
1.7916 |
0.96967 |
0.2 |
0.5 |
14.426 |
-0.82224 |
-0.76307 |
-0.76307 |
0.1 |
0.1 |
14.426 |
4.4189 |
8.9622 |
6.6906 |
0.01 |
0.01 |
14.426 |
13.962 |
14.702 |
14.332 |
0.001 |
0.001 |
14.426 |
14.387 |
14.462 |
14.425 |
Лабораторная работа №2. Беляев А.Н. 3-75
Вычислить значение определенного интеграла аналитически и численно четырьмя методами для пяти значений N, где N - число разбиений интервала интегрирования N=10; 20; 50; 100; 1000.
Программа:
function LR2
function y=f(x);y=3*x^0.5; end
N=[10 20 50 100 1000]
a=1;b=9;Sa=[52 52 52 52 52];
for i=1:5
h=(b-a)/N(i);S1(i)=0;S2(i)=0;S3(i)=0;S4(i)=0;
x=a;
for j=1:N(i)
S1(i)=S1(i)+f(x);x=x+h;
end
S1(i)=S1(i)*h;
x=a+h;
for j=1:N(i)
S2(i)=S2(i)+f(x);x=x+h;
end
S2(i)=S2(i)*h;
x=a+h;
for j=1:N(i)-1
S3(i)=S3(i)+f(x);x=x+h;
end
S3(i)=(f(a)/2+f(b)/2+S3(i))*h;
x=a+h;
for j=1:N(i)-1
if mod(j,2)==1
S4(i)=S4(i)+4*f(x);
else
S4(i)=S4(i)+2*f(x);
end
x=x+h;
end
S4(i)=(f(a)+f(b)+S4(i))*h/3;
end
format bank
[N' Sa' S1' S2' S3' S4']
plot(N,Sa,N,S1,N,S2,N,S3,N,S4)
end
Результат выполнения:
N |
IA |
I1 |
I2 |
I3 |
I4 |
10 |
52 |
49.55 |
54.35 |
51.95 |
52 |
20 |
52 |
50.79 |
53.19 |
51.99 |
52 |
50 |
52 |
51.52 |
52.48 |
52 |
52 |
100 |
52 |
51.76 |
52.24 |
52 |
52 |
1000 |
52 |
51.98 |
52.02 |
52 |
52 |
Лабораторная работа №3. Беляев А.Н. 3-75
Численное решение дифференциальных уравнений
Цель работы. Изучение численных методов решения дифференциальных уравнений.
Решить дифференциальное уравнение y=e-x-2x аналитически и численно указанными методами для двух значений шага интегрирования h=0.01; 0.001 .
Программа:
function lr3
function y=f(x);y=exp(-x)-2*x; end
x=0;y=1;h=0.001; X=[x]; Y=[y];
for i=1:1000
y=y+h*f(x); x=x+h;
if mod(i,100)==0
X=[X x];Y=[Y y];
end
end
[X' Y' (2-exp(-X)-X.^2)']
plot(X,2-exp(-X)-X.^2,'r*',X,Y)
end
Результат выполнения:
0 |
1 |
1 |
0.1 |
1.09 |
1.09 |
0.2 |
1.14 |
1.14 |
0.3 |
1.17 |
1.17 |
0.4 |
1.17 |
1.14 |
0.5 |
1.14 |
1.14 |
0.6 |
1.09 |
1.09 |
0.7 |
1.01 |
1.01 |
0.8 |
0.91 |
0.91 |
0.9 |
0.78 |
0.78 |
1 |
0.63 |
0.63 |