Программа

function LR2

function y=f(x);y=x*x; end

N=[10 20 50 100 1000]

a=0;b=1;Sa=[1/3 1/3 1/3 1/3 1/3];

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.00 0.33 0.28 0.39 0.33 0.33

20.00 0.33 0.31 0.36 0.33 0.33

50.00 0.33 0.32 0.34 0.33 0.33

100.00 0.33 0.33 0.34 0.33 0.33

1000.00 0.33 0.33 0.33 0.33 0.33

ПРИМЕР4.. Лабораторная работа 3.

Решение дифференциальных уравнений


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: