Matlab code help on Euler's Method
211 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sanjida Ahmed
am 11 Apr. 2016
Kommentiert: Ahmed J. Abougarair
am 20 Mär. 2024
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 Kommentar
Muhammad Tahir
am 24 Dez. 2023
Verschoben: Dyuman Joshi
am 26 Dez. 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
Akzeptierte Antwort
James Tursa
am 11 Apr. 2016
Here is a general outline for Euler's Method:
% Euler's Method
% Initial conditions and setup
h = (enter your step size here); % step size
x = (enter the starting value of x here):h:(enter the ending value of x here); % the range of x
y = zeros(size(x)); % allocate the result y
y(1) = (enter the starting value of y here); % the initial y value
n = numel(y); % the number of y values
% The loop to solve the DE
for i=1:n-1
f = the expression for y' in your DE
y(i+1) = y(i) + h * f;
end
It is based on this link, which you have already read:
You need to fill in the values indicated, and also write the code for the f line. What is the DE you are trying to solve?
4 Kommentare
Ahmed J. Abougarair
am 20 Mär. 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']
Weitere Antworten (2)
mahmoud mohamed abd el kader
am 27 Okt. 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 Kommentare
James Tursa
am 3 Mär. 2021
Bearbeitet: James Tursa
am 3 Mär. 2021
@shireesha myadari Please delete this comment and open up a new question for this.
Ahmed J. Abougarair
am 20 Mär. 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
am 13 Nov. 2022
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;
0 Kommentare
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!