Matlab code help on Euler's Method
Show older comments
I have to implement for academic purpose a Matlab code on Euler's method(y(i+1) = y(i) + h * f(x(i),y(i))) which has a condition for stopping iteration will be based on given number of x. I am new in Matlab but I have to submit the code so soon. I am facing lots of error in implementing that though I haven't so many knowledge on Matlab. If anyone provide me so easy and simple code on that then it'll be very helpful for me. Thank you.
1 Comment
Muhammad Tahir
on 24 Dec 2023
Moved: Dyuman Joshi
on 26 Dec 2023
y'=2x-3y+1, y(1)=5, y(1.2)=? MATLAB code using euler'method to obtain a four decimal and h= 0.1
Accepted Answer
More Answers (2)
mahmoud mohamed abd el kader
on 27 Oct 2020
h=0.5;
x=0:h:4;
y=zeros(size(x));
y(1)=1;
n=numel(y);
for i = 1:n-1
dydx= -2*x(i).^3 +12*x(i).^2 -20*x(i)+8.5 ;
y(i+1) = y(i)+dydx*h ;
fprintf('="Y"\n\t %0.01f',y(i));
end
%%fprintf('="Y"\n\t %0.01f',y);
plot(x,y);
grid on;
4 Comments
Tendai Kufandirori
on 1 Nov 2020
Hi, I am trying to solve dy/dx = -2x^3 + 12x^2- 20x + 9 and am getting some errors when trying to use Euler's method. Do you know how to go about it please
John D'Errico
on 1 Nov 2020
Was it necessary to post 3 identical answers, to an old question?
James Tursa
on 3 Mar 2021
Edited: James Tursa
on 3 Mar 2021
@shireesha myadari Please delete this comment and open up a new question for this.
Ahmed J. Abougarair
on 20 Mar 2024
% Euler's Method
% Initial conditions and setup
clc
clear
h = input('Enter your step size here :'); % step size
x = input('Enter the starting value of x :');
xend = input('Enter the ending value of xend :'); % the range of x
n = (xend-x)/h; % the number of y values
y = zeros(1,n); % allocate the result y
y(1) = input('Enter the starting value of y :'); % the initial y value
% The loop to solve the DE
for i=1:n
f(i) = 6- 2*(y(i)/x(i)); % dy/dx = 6-2y/x
y(i+1) = y(i) + h * f(i);
x(i+1)=x(i)+h;
end
[x' y']
Rakshana
on 13 Nov 2022
0 votes
h=0.5; x=0:h:4; y=zeros(size(x)); y(1)=1; n=numel(y); for i = 1:n-1 dydx= -2*x(i).^3 +12*x(i).^2 -20*x(i)+8.5 ; y(i+1) = y(i)+dydx*h ; fprintf('="Y"\n\t %0.01f',y(i)); end %%fprintf('="Y"\n\t %0.01f',y); plot(x,y); grid on;
Categories
Find more on Numerical Integration and Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!