%euler loop
f = @(x, y) 2*x; % f(x, y) = 2*x
h = 0.4;
n = (2 - 0)/h;
x(1) = 0;
y(1) = 1;
for i = 1:n
x(i+1) = x(i) + h;
y(i+1) = y(i) + h * f(x(i), y(i));
end
%modified euler method
%write the function
h = 0.1;
n = (2-0)/h;
x(1) = 0;
y(1) = 1;
for i = 1:n
x(i+1) = x(i) + h; %step size
y(i+1) = y(i) + h*f(x(i), y(i));
y(i+1) = y(i) + h * (f(x(i), y(i)) + f(x(i+1), y(i+1))) / 2;
end
disp([x' y'])
% simpson 1/3
a=0;
b=1;
n=12;
h=(b-a)/n;
sum=f(a)+f(b);
for i=1:n-1
a=a+h;
if mod(i,2)==1
sum=sum+4*f(a);
else
sum=sum+2*f(a);
end
end
Sum=h/3*sum
fprintf('Approximate integral = %.10f\n',Sum
);
%simpson 3/8
a=0;
b=1;
n=12;
h=(a-b)/n;
sum= f(a)+f(b);
for i=1:n-1
a=a+h;
if mod(i,3)==0
sum=sum +2*f(a);
else
sum=sum+3*f(a);
end
end
sum=3*h*sum/8;
fprintf('Approximate integral = %.10f\n', sum
);
%TROPZOIDAL e^x^2 from tropzoidal n=12
a=0;
b=1;
n=12
h=(b-a)/n;
sum=f(a)+f(b);
for i=1:n-1
a=a+h;
sum=sum+2*f(a);
end
sum=h/2*sum
fprintf('Approximate intregal: %.10f\n', sum
')
f= @(x) exp(x.^2);
result=quad(f,0,1)
%midpoint
f=@(x,y) x+y;
x(1)=0;
y(1)=1;
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
for i=1:n
k1=f(x(i),y(i));
k2=f(x(i)+h/2,y(i)+h/2*k1);
y(i+1)=y(i)+h*k2;
x(i+1)=x(i)+h;
end
[x' y']
%ratson method
f=@(x,y) x+y;
x(1)=0;
y(1)=1;
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
for i=1:n
k1=f(x(i),y(i));
k2=f(x(i)+3*h/4,y(i)+3*h*k1/4);
y(i+1)=y(i)+h*(k1+2*k2)/3;
x(i+1)=x(i)+h;
end
[x' y']
%rk 4th method
f=@(x,y) x+y;
x(1)=0;
y(1)=1;
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
for i=1:n
k1=f(x(i),y(i));
k2=f(x(i)+h/2,y(i)+h*k1/2);
k3=f(x(i)+h/2,y(i)+h*k2/2);
k4=f(x(i)+h,y(i)+h*k3);
y(i+1)=y(i)+h*(k1+2*k2+2*k3+k4)/6;
x(i+1)=x(i)+h;
end
[x' y']
%heuns
f=@(x,y) x+y;
x(1)=0;
y(1)=1;
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
for i=1:n
k1=f(x(i),y(i));
k2=f(x(i)+h,y(i)+h*k1);
y(i+1)=y(i)+h*(k1+k2)/2;
x(i+1)=x(i)+h;
end
[x' y']
%graph of euler loop
f = @(x, y) exp(x^2);
h = 0.001;
xn=2;
n = (2 - 0) / h;
x(1) = 0;
y(1) = 1;
for i = 1:n
x(i+1) = x(i) + h;
y(i+1) = y(i) + h * f(x(i), y(i));
y(i+1)=y(i)+h*(f(x(i),y(i))+f(x(i+1),y(i+1)))/2; %modi-Euler
end
n
y_exact = x.^2 + 1;
plot(x, y, 'ro--', x, y_exact, 'b.--');
legend('Euler Approx', 'Exact Solution');
% weddles n=12 (n shold be multiple of 6)
f = @(x) exp(x.^2);
a = 0;
b = 1;
n = 12;
h = (b - a) / n;
x = a:h:b;
y = f(x);
sum = 0;
for k = 1:6:n
sum = sum + (3*h/10) * ( ...
y(k) + 5*y(k+1) + y(k+2) + ...
6*y(k+3) + y(k+4) + 5*y(k+5) + y(k+6) );
end
sum
CiVldWxlciBsb29wCmYgPSBAKHgsIHkpIDIqeDsgICAlICBmKHgsIHkpID0gMip4CiAKCmggPSAwLjQ7ICAgICAgICAgICAgICAgICAgIApuID0gKDIgLSAwKS9oOyAgICAgICAgICAgICAKIAoKeCgxKSA9IDA7ICAgICAgICAgICAgICAgICAgCnkoMSkgPSAxOyAgICAgICAgICAgICAgICAgIAogCgpmb3IgaSA9IDE6bgogICAgeChpKzEpID0geChpKSArIGg7ICAgICAgICAgICAgIAogICAgeShpKzEpID0geShpKSArIGggKiBmKHgoaSksIHkoaSkpOyAgCmVuZAogCiVtb2RpZmllZCBldWxlciBtZXRob2QKIAold3JpdGUgdGhlIGZ1bmN0aW9uCiAKZiA9IEAoeCwgeSkgZXhwKHheMik7CiAKaCA9IDAuMTsKbiA9ICgyLTApL2g7Cgp4KDEpID0gMDsKeSgxKSA9IDE7CiAKZm9yIGkgPSAxOm4KeChpKzEpID0geChpKSArIGg7ICVzdGVwIHNpemUKCnkoaSsxKSA9IHkoaSkgKyBoKmYoeChpKSwgeShpKSk7Cgp5KGkrMSkgPSB5KGkpICsgaCAqIChmKHgoaSksIHkoaSkpICsgZih4KGkrMSksIHkoaSsxKSkpIC8gMjsKIAplbmQgCiBkaXNwKFt4JyB5J10pCiAKIAolICBzaW1wc29uIDEvMyAKIApmPUAoeCkgZXhwKHguXjIpOwogCmE9MDsKYj0xOwogCm49MTI7CiAKaD0oYi1hKS9uOwogCnN1bT1mKGEpK2YoYik7CiAKCmZvciBpPTE6bi0xCiAgICBhPWEraDsKICAgIGlmIG1vZChpLDIpPT0xCgogICAgICAgIHN1bT1zdW0rNCpmKGEpOyAKICAgIGVsc2UKCiAgICAgICAgc3VtPXN1bSsyKmYoYSk7CiAgICBlbmQKZW5kClN1bT1oLzMqc3VtCiAKZnByaW50ZignQXBwcm94aW1hdGUgaW50ZWdyYWwgPSAlLjEwZlxuJyxTdW0pOwogCiAKJXNpbXBzb24gMy84IAogCmY9QCh4KSBleHAoeC5eMik7CiAKCmE9MDsKYj0xOwogCm49MTI7CiAKCmg9KGEtYikvbjsKICAKc3VtPSBmKGEpK2YoYik7CiAKCmZvciBpPTE6bi0xCiAgYT1hK2g7IAogCiAgaWYgbW9kKGksMyk9PTAgCiAgICAgc3VtPXN1bSArMipmKGEpOyAKIAogICAgIGVsc2UKICAgICBzdW09c3VtKzMqZihhKTsKICAgICBlbmQgCiAKICAgIGVuZCAgCiAKICAgIAogICAgc3VtPTMqaCpzdW0vODsKICAgIGZwcmludGYoJ0FwcHJveGltYXRlIGludGVncmFsID0gJS4xMGZcbicsIHN1bSk7CiAKIAolVFJPUFpPSURBTCBlXnheMiBmcm9tIHRyb3B6b2lkYWwgbj0xMgogCgpmPUAoeCkgZXhwKHguXjIpOwogCgphPTA7CmI9MTsKIApuPTEyCiAKaD0oYi1hKS9uOwogCnN1bT1mKGEpK2YoYik7CiAKZm9yIGk9MTpuLTEKICAKICBhPWEraDsKICBzdW09c3VtKzIqZihhKTsKICBlbmQgCiAgc3VtPWgvMipzdW0KICBmcHJpbnRmKCdBcHByb3hpbWF0ZSBpbnRyZWdhbDogJS4xMGZcbicsIHN1bScpCiAKICAKICBmPSBAKHgpIGV4cCh4Ll4yKTsKICByZXN1bHQ9cXVhZChmLDAsMSkKIAogCiVtaWRwb2ludAogCmY9QCh4LHkpIHgreTsKCngoMSk9MDsKeSgxKT0xOwoKeG49MC4yOwpoPTAuMTsKIApuPSh4bi14KDEpKS9oOwogCmZvciBpPTE6biAKIAoKazE9Zih4KGkpLHkoaSkpOwprMj1mKHgoaSkraC8yLHkoaSkraC8yKmsxKTsKeShpKzEpPXkoaSkraCprMjsKeChpKzEpPXgoaSkraDsKIAplbmQgClt4JyB5J10KIAogCiVyYXRzb24gbWV0aG9kCiAKZj1AKHgseSkgeCt5OwoKeCgxKT0wOwp5KDEpPTE7Cgp4bj0wLjI7Cmg9MC4xOwogCm49KHhuLXgoMSkpL2g7CiAKCmZvciBpPTE6biAKIAoKazE9Zih4KGkpLHkoaSkpOwprMj1mKHgoaSkrMypoLzQseShpKSszKmgqazEvNCk7CiAgICB5KGkrMSk9eShpKStoKihrMSsyKmsyKS8zOwogICAgeChpKzEpPXgoaSkraDsKIAplbmQgClt4JyB5J10KIAogCiVyayA0dGggbWV0aG9kCiAKCmY9QCh4LHkpIHgreTsKCngoMSk9MDsKeSgxKT0xOwoKeG49MC4yOwpoPTAuMTsKIApuPSh4bi14KDEpKS9oOwogCmZvciBpPTE6biAKIAogICAKICAgICBrMT1mKHgoaSkseShpKSk7CiAgICAgazI9Zih4KGkpK2gvMix5KGkpK2gqazEvMik7CiAgICBrMz1mKHgoaSkraC8yLHkoaSkraCprMi8yKTsKICAgIGs0PWYoeChpKStoLHkoaSkraCprMyk7CiAgICB5KGkrMSk9eShpKStoKihrMSsyKmsyKzIqazMrazQpLzY7CiAgICB4KGkrMSk9eChpKStoOwogCmVuZCAKW3gnIHknXQogCiAKJWhldW5zCiAKCmY9QCh4LHkpIHgreTsKCngoMSk9MDsKeSgxKT0xOwoKeG49MC4yOwpoPTAuMTsKIApuPSh4bi14KDEpKS9oOwogCgpmb3IgaT0xOm4gCiAKICAgCiAgICBrMT1mKHgoaSkseShpKSk7CiAgICBrMj1mKHgoaSkraCx5KGkpK2gqazEpOwogICAgeShpKzEpPXkoaSkraCooazErazIpLzI7CiAgICB4KGkrMSk9eChpKStoOwogCmVuZCAKW3gnIHknXQogCiAKJWdyYXBoIG9mIGV1bGVyIGxvb3AKCmYgPSBAKHgsIHkpIGV4cCh4XjIpOwogCmggPSAwLjAwMTsKeG49MjsKbiA9ICgyIC0gMCkgLyBoOwogCngoMSkgPSAwOwp5KDEpID0gMTsKIApmb3IgaSA9IDE6bgogICAgeChpKzEpID0geChpKSArIGg7CiAgICB5KGkrMSkgPSB5KGkpICsgaCAqIGYoeChpKSwgeShpKSk7CiAgICB5KGkrMSk9eShpKStoKihmKHgoaSkseShpKSkrZih4KGkrMSkseShpKzEpKSkvMjsgICVtb2RpLUV1bGVyCmVuZApuCgp5X2V4YWN0ID0geC5eMiArIDE7CgpwbG90KHgsIHksICdyby0tJywgeCwgeV9leGFjdCwgJ2IuLS0nKTsKbGVnZW5kKCdFdWxlciBBcHByb3gnLCAnRXhhY3QgU29sdXRpb24nKTsKIAogCiUgd2VkZGxlcyBuPTEyIChuIHNob2xkIGJlIG11bHRpcGxlIG9mIDYpCiAKZiA9IEAoeCkgZXhwKHguXjIpOwogCmEgPSAwOwpiID0gMTsKbiA9IDEyOyAKIApoID0gKGIgLSBhKSAvIG47CiAKCnggPSBhOmg6YjsKeSA9IGYoeCk7CiAKc3VtID0gMDsKIApmb3IgayA9IDE6NjpuCiAgICBzdW0gPSBzdW0gKyAoMypoLzEwKSAqICggLi4uCiAgICAgICAgeShrKSAgICsgNSp5KGsrMSkgKyB5KGsrMikgKyAuLi4KICAgICAgICA2KnkoayszKSArIHkoays0KSArIDUqeShrKzUpICsgeShrKzYpICk7CmVuZAogCnN1bQ==