% Define the differential equation dy/dx = f(x, y)
%euler loop
f = @(x, y) 2*x; % f(x, y) = 2*x
% Step size and number of steps
h = 0.4; % step size
n = (2 - 0)/h; % total number of steps to reach x = 2 from x = 0
% Set initial values
x(1) = 0; % initial x0
y(1) = 1; % initial y0
% Euler method loop
for i = 1:n
x(i+1) = x(i) + h; % update x to next step
y(i+1) = y(i) + h * f(x(i), y(i)); % Euler formula: y_{i+1} = y_i + h*f(x_i, y_i)
end
%modified euler method
%write the function
%x,y which makes two inputs, here y is not use
%step size
h = 0.1;
n = (2-0)/h;
%initial value
x(1) = 0;
y(1) = 1;
for i = 1:n
x(i+1) = x(i) + h; %step size
%euler method
y(i+1) = y(i) + h*f(x(i), y(i));
%mod euler
y(i+1) = y(i) + h * (f(x(i), y(i)) + f(x(i+1), y(i+1))) / 2;
end
disp([x' y'])
% e^x^2 from 0 to 1 simpson 1/3 n=12(n should be even)
a=0;
b=1;
n=12;
h=(b-a)/n;
sum=f(a)+f(b);
%loop niboh
for i=1:n-1
a=a+h;
if mod(i,2)==1
%odd hobe
sum=sum+4*f(a);
else
%even hobe bhag kore jdi dkhi
sum=sum+2*f(a);
end
end
Sum=h/3*sum
fprintf('Approximate integral = %.10f\n',Sum
);
%simpson 3/8
clear all;
clc;
format long;
%function boshate hobe
%initial value boshate hobe
a=0;
b=1;
n=12;
%step size ber korbo
h=(a-b)/n;
%formula onujai x0 are xn jug hobe total with last and first value
sum= f(a)+f(b);
%loop dibo
for i=1:n-1
a=a+h; %x er next value ber korbo
if mod(i,3)==0 %i multiple 3 er
sum=sum +2*f(a); %3 er gunitok gula ashbe
else
sum=sum+3*f(a);
end
end
%ekhn just last er 3h/8 diye kaj shesh krbe
sum=3*h*sum/8;
fprintf('Approximate integral = %.10f\n', sum
);
%TROPZOIDAL e^x^2 from tropzoidal n=12
%function likhbo
%upper lowe limit
a=0;
b=1;
%n er value likhbo
n=12
%step size ber krbo
h=(b-a)/n;
%sum krbo first and last
sum=f(a)+f(b);
%loop dibo
for i=1:n-1
%x er next value ber krbo
a=a+h;
sum=sum+2*f(a);
end
sum=h/2*sum
fprintf('Approximate intregal: %.10f\n', sum
')
%for exact value ber korbo abar function likhbo
f= @(x) exp(x.^2);
result=quad(f,0,1)
%midpoint
%dy/dx=x+y y(0)=1 where step size h=0.1
%function likhbo
f=@(x,y) x+y;
%from question x=0 y=1
x(1)=0;
y(1)=1;
% x er man dewa 0.2
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
%loop dibo
for i=1:n
%midpoint formula dibo
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
%dy/dx=x+y y(0)=1 where step size h=0.1
%function likhbo
f=@(x,y) x+y;
%from question x=0 y=1
x(1)=0;
y(1)=1;
% x er man dewa 0.2
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
%loop dibo
for i=1:n
%ralston formula dibo
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
%dy/dx=x+y y(0)=1 where step size h=0.1
%function likhbo
f=@(x,y) x+y;
%from question x=0 y=1
x(1)=0;
y(1)=1;
% x er man dewa 0.2
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
%loop dibo
for i=1:n
% R-K 4th order
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
%dy/dx=x+y y(0)=1 where step size h=0.1
%function likhbo
f=@(x,y) x+y;
%from question x=0 y=1
x(1)=0;
y(1)=1;
% x er man dewa 0.2
xn=0.2;
h=0.1;
n=(xn-x(1))/h;
%loop dibo
for i=1:n
% Heun's
%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
% Define the function dy/dx =2x= f(x, y)
% Step size and number of steps
h = 0.001;
xn=2;
n = (2 - 0) / h;
% Set initial values
x(1) = 0;
y(1) = 1;
% Euler loop
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
% Exact solution
y_exact = x.^2 + 1;
% Plotting both
plot(x, y, 'ro--', x, y_exact, 'b.--');
legend('Euler Approx', 'Exact Solution');
% weddles n=12 (n shold be multiple of 6)
a = 0;
b = 1;
n = 12; % subintervals, must be multiple of 6 for Weddle's rule
h = (b - a) / n;
% Generate points
x = a:h:b;
y = f(x);
sum = 0;
% Apply Weddle's rule in blocks of 6 subintervals (7 points)
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
JSBEZWZpbmUgdGhlIGRpZmZlcmVudGlhbCBlcXVhdGlvbiBkeS9keCA9IGYoeCwgeSkKJWV1bGVyIGxvb3AKZiA9IEAoeCwgeSkgMip4OyAgICUgIGYoeCwgeSkgPSAyKngKCiUgU3RlcCBzaXplIGFuZCBudW1iZXIgb2Ygc3RlcHMKaCA9IDAuNDsgICAgICAgICAgICAgICAgICAgJSBzdGVwIHNpemUKbiA9ICgyIC0gMCkvaDsgICAgICAgICAgICAgJSB0b3RhbCBudW1iZXIgb2Ygc3RlcHMgdG8gcmVhY2ggeCA9IDIgZnJvbSB4ID0gMAoKJSBTZXQgaW5pdGlhbCB2YWx1ZXMKeCgxKSA9IDA7ICAgICAgICAgICAgICAgICAgJSBpbml0aWFsIHgwCnkoMSkgPSAxOyAgICAgICAgICAgICAgICAgICUgaW5pdGlhbCB5MAoKJSBFdWxlciBtZXRob2QgbG9vcApmb3IgaSA9IDE6bgogICAgeChpKzEpID0geChpKSArIGg7ICAgICAgICAgICAgICUgdXBkYXRlIHggdG8gbmV4dCBzdGVwCiAgICB5KGkrMSkgPSB5KGkpICsgaCAqIGYoeChpKSwgeShpKSk7ICAlIEV1bGVyIGZvcm11bGE6IHlfe2krMX0gPSB5X2kgKyBoKmYoeF9pLCB5X2kpCmVuZAoKJW1vZGlmaWVkIGV1bGVyIG1ldGhvZAoKJXdyaXRlIHRoZSBmdW5jdGlvbgoKZiA9IEAoeCwgeSkgZXhwKHheMik7CgoleCx5IHdoaWNoIG1ha2VzIHR3byBpbnB1dHMsIGhlcmUgeSBpcyBub3QgdXNlIAoKJXN0ZXAgc2l6ZQoKaCA9IDAuMTsKbiA9ICgyLTApL2g7CiVpbml0aWFsIHZhbHVlCngoMSkgPSAwOwp5KDEpID0gMTsKCmZvciBpID0gMTpuCngoaSsxKSA9IHgoaSkgKyBoOyAlc3RlcCBzaXplCiVldWxlciBtZXRob2QKeShpKzEpID0geShpKSArIGgqZih4KGkpLCB5KGkpKTsKJW1vZCBldWxlcgp5KGkrMSkgPSB5KGkpICsgaCAqIChmKHgoaSksIHkoaSkpICsgZih4KGkrMSksIHkoaSsxKSkpIC8gMjsKCmVuZCAKIGRpc3AoW3gnIHknXSkKCiAKJSAgZV54XjIgZnJvbSAwIHRvIDEgc2ltcHNvbiAxLzMgbj0xMihuIHNob3VsZCBiZSBldmVuKQoKZj1AKHgpIGV4cCh4Ll4yKTsKCmE9MDsKYj0xOwoKbj0xMjsKCmg9KGItYSkvbjsKCnN1bT1mKGEpK2YoYik7CgolbG9vcCBuaWJvaApmb3IgaT0xOm4tMQogICAgYT1hK2g7CiAgICBpZiBtb2QoaSwyKT09MQolb2RkIGhvYmUgCiAgICAgICAgc3VtPXN1bSs0KmYoYSk7IAogICAgZWxzZQolZXZlbiBob2JlIGJoYWcga29yZSBqZGkgZGtoaQogICAgICAgIHN1bT1zdW0rMipmKGEpOwogICAgZW5kCmVuZApTdW09aC8zKnN1bQoKZnByaW50ZignQXBwcm94aW1hdGUgaW50ZWdyYWwgPSAlLjEwZlxuJyxTdW0pOwoKCiVzaW1wc29uIDMvOCAKY2xlYXIgYWxsOwpjbGM7CmZvcm1hdCBsb25nOwolZnVuY3Rpb24gYm9zaGF0ZSBob2JlCgpmPUAoeCkgZXhwKHguXjIpOwoKJWluaXRpYWwgdmFsdWUgYm9zaGF0ZSBob2JlCmE9MDsKYj0xOwoKbj0xMjsKCiVzdGVwIHNpemUgYmVyIGtvcmJvCmg9KGEtYikvbjsKCiVmb3JtdWxhIG9udWphaSB4MCBhcmUgeG4ganVnIGhvYmUgdG90YWwgd2l0aCBsYXN0IGFuZCBmaXJzdCB2YWx1ZQoKc3VtPSBmKGEpK2YoYik7CgolbG9vcCBkaWJvCmZvciBpPTE6bi0xCiAgYT1hK2g7ICV4IGVyIG5leHQgdmFsdWUgYmVyIGtvcmJvCiAgCiAgaWYgbW9kKGksMyk9PTAgJWkgbXVsdGlwbGUgMyBlciAKICAgICBzdW09c3VtICsyKmYoYSk7ICUzIGVyIGd1bml0b2sgZ3VsYSBhc2hiZQogICAgIAogICAgIGVsc2UKICAgICBzdW09c3VtKzMqZihhKTsKICAgICBlbmQgCiAgICAgCiAgICBlbmQgIAogICAgIAogICAgJWVraG4ganVzdCBsYXN0IGVyIDNoLzggZGl5ZSBrYWogc2hlc2gga3JiZQogICAgc3VtPTMqaCpzdW0vODsKICAgIGZwcmludGYoJ0FwcHJveGltYXRlIGludGVncmFsID0gJS4xMGZcbicsIHN1bSk7CgoKJVRST1BaT0lEQUwgZV54XjIgZnJvbSB0cm9wem9pZGFsIG49MTIKCiVmdW5jdGlvbiBsaWtoYm8KZj1AKHgpIGV4cCh4Ll4yKTsKCiV1cHBlciBsb3dlIGxpbWl0CmE9MDsKYj0xOwoKJW4gZXIgdmFsdWUgbGlraGJvCm49MTIKCiVzdGVwIHNpemUgYmVyIGtyYm8KCmg9KGItYSkvbjsKCiVzdW0ga3JibyBmaXJzdCBhbmQgbGFzdApzdW09ZihhKStmKGIpOwoKJWxvb3AgZGlibwpmb3IgaT0xOm4tMQogICV4IGVyIG5leHQgdmFsdWUgYmVyIGtyYm8KICBhPWEraDsKICBzdW09c3VtKzIqZihhKTsKICBlbmQgCiAgc3VtPWgvMipzdW0KICBmcHJpbnRmKCdBcHByb3hpbWF0ZSBpbnRyZWdhbDogJS4xMGZcbicsIHN1bScpCiAgCiAgJWZvciBleGFjdCB2YWx1ZSBiZXIga29yYm8gYWJhciBmdW5jdGlvbiBsaWtoYm8KICBmPSBAKHgpIGV4cCh4Ll4yKTsKICByZXN1bHQ9cXVhZChmLDAsMSkKCgolbWlkcG9pbnQKCiVkeS9keD14K3kgeSgwKT0xIHdoZXJlIHN0ZXAgc2l6ZSBoPTAuMSAKJWZ1bmN0aW9uIGxpa2hibwpmPUAoeCx5KSB4K3k7CiVmcm9tIHF1ZXN0aW9uIHg9MCB5PTEgCngoMSk9MDsKeSgxKT0xOwolIHggZXIgbWFuIGRld2EgMC4yCnhuPTAuMjsKaD0wLjE7CgpuPSh4bi14KDEpKS9oOwoKJWxvb3AgZGlibwpmb3IgaT0xOm4gCgolbWlkcG9pbnQgZm9ybXVsYSBkaWJvCmsxPWYoeChpKSx5KGkpKTsKazI9Zih4KGkpK2gvMix5KGkpK2gvMiprMSk7CnkoaSsxKT15KGkpK2gqazI7CngoaSsxKT14KGkpK2g7CgplbmQgClt4JyB5J10KCgolcmF0c29uIG1ldGhvZAoKJWR5L2R4PXgreSB5KDApPTEgd2hlcmUgc3RlcCBzaXplIGg9MC4xIAolZnVuY3Rpb24gbGlraGJvCmY9QCh4LHkpIHgreTsKJWZyb20gcXVlc3Rpb24geD0wIHk9MSAKeCgxKT0wOwp5KDEpPTE7CiUgeCBlciBtYW4gZGV3YSAwLjIKeG49MC4yOwpoPTAuMTsKCm49KHhuLXgoMSkpL2g7CgolbG9vcCBkaWJvCmZvciBpPTE6biAKCiVyYWxzdG9uIGZvcm11bGEgZGlibwprMT1mKHgoaSkseShpKSk7CmsyPWYoeChpKSszKmgvNCx5KGkpKzMqaCprMS80KTsKICAgIHkoaSsxKT15KGkpK2gqKGsxKzIqazIpLzM7CiAgICB4KGkrMSk9eChpKStoOwoKZW5kIApbeCcgeSddCgoKJXJrIDR0aCBtZXRob2QKCiVkeS9keD14K3kgeSgwKT0xIHdoZXJlIHN0ZXAgc2l6ZSBoPTAuMSAKJWZ1bmN0aW9uIGxpa2hibwpmPUAoeCx5KSB4K3k7CiVmcm9tIHF1ZXN0aW9uIHg9MCB5PTEgCngoMSk9MDsKeSgxKT0xOwolIHggZXIgbWFuIGRld2EgMC4yCnhuPTAuMjsKaD0wLjE7CgpuPSh4bi14KDEpKS9oOwoKJWxvb3AgZGlibwpmb3IgaT0xOm4gCgogICAlIFItSyA0dGggb3JkZXIKICAgICBrMT1mKHgoaSkseShpKSk7CiAgICAgazI9Zih4KGkpK2gvMix5KGkpK2gqazEvMik7CiAgICBrMz1mKHgoaSkraC8yLHkoaSkraCprMi8yKTsKICAgIGs0PWYoeChpKStoLHkoaSkraCprMyk7CiAgICB5KGkrMSk9eShpKStoKihrMSsyKmsyKzIqazMrazQpLzY7CiAgICB4KGkrMSk9eChpKStoOwoKZW5kIApbeCcgeSddCgoKJWhldW5zCgolZHkvZHg9eCt5IHkoMCk9MSB3aGVyZSBzdGVwIHNpemUgaD0wLjEgCiVmdW5jdGlvbiBsaWtoYm8KZj1AKHgseSkgeCt5OwolZnJvbSBxdWVzdGlvbiB4PTAgeT0xIAp4KDEpPTA7CnkoMSk9MTsKJSB4IGVyIG1hbiBkZXdhIDAuMgp4bj0wLjI7Cmg9MC4xOwoKbj0oeG4teCgxKSkvaDsKCiVsb29wIGRpYm8KZm9yIGk9MTpuIAoKICAgJSAgSGV1bidzCiAgICAlazE9Zih4KGkpLHkoaSkpOwogICAgJWsyPWYoeChpKStoLHkoaSkraCprMSk7CiAgICAleShpKzEpPXkoaSkraCooazErazIpLzI7CiAgICAleChpKzEpPXgoaSkraDsKCmVuZCAKW3gnIHknXQoKCiVncmFwaCBvZiBldWxlciBsb29wCiUgRGVmaW5lIHRoZSBmdW5jdGlvbiBkeS9keCA9Mng9IGYoeCwgeSkKZiA9IEAoeCwgeSkgZXhwKHheMik7CgolIFN0ZXAgc2l6ZSBhbmQgbnVtYmVyIG9mIHN0ZXBzCmggPSAwLjAwMTsKeG49MjsKbiA9ICgyIC0gMCkgLyBoOwoKJSBTZXQgaW5pdGlhbCB2YWx1ZXMKeCgxKSA9IDA7CnkoMSkgPSAxOwoKJSBFdWxlciBsb29wCmZvciBpID0gMTpuCiAgICB4KGkrMSkgPSB4KGkpICsgaDsKICAgIHkoaSsxKSA9IHkoaSkgKyBoICogZih4KGkpLCB5KGkpKTsKICAgIHkoaSsxKT15KGkpK2gqKGYoeChpKSx5KGkpKStmKHgoaSsxKSx5KGkrMSkpKS8yOyAgJW1vZGktRXVsZXIKZW5kCm4KJSBFeGFjdCBzb2x1dGlvbgp5X2V4YWN0ID0geC5eMiArIDE7CiUgUGxvdHRpbmcgYm90aApwbG90KHgsIHksICdyby0tJywgeCwgeV9leGFjdCwgJ2IuLS0nKTsKbGVnZW5kKCdFdWxlciBBcHByb3gnLCAnRXhhY3QgU29sdXRpb24nKTsKCgolIHdlZGRsZXMgbj0xMiAobiBzaG9sZCBiZSBtdWx0aXBsZSBvZiA2KQoKZiA9IEAoeCkgZXhwKHguXjIpOwoKYSA9IDA7CmIgPSAxOwpuID0gMTI7ICUgc3ViaW50ZXJ2YWxzLCBtdXN0IGJlIG11bHRpcGxlIG9mIDYgZm9yIFdlZGRsZSdzIHJ1bGUKCmggPSAoYiAtIGEpIC8gbjsKCiUgR2VuZXJhdGUgcG9pbnRzCnggPSBhOmg6YjsKeSA9IGYoeCk7CgpzdW0gPSAwOwoKJSBBcHBseSBXZWRkbGUncyBydWxlIGluIGJsb2NrcyBvZiA2IHN1YmludGVydmFscyAoNyBwb2ludHMpCmZvciBrID0gMTo2Om4KICAgIHN1bSA9IHN1bSArICgzKmgvMTApICogKCAuLi4KICAgICAgICB5KGspICAgKyA1KnkoaysxKSArIHkoaysyKSArIC4uLgogICAgICAgIDYqeShrKzMpICsgeShrKzQpICsgNSp5KGsrNSkgKyB5KGsrNikgKTsKZW5kCgpzdW0KCgoKIAoKICAKICAgICAKCgoKCgo=