ode1 error Euler's method
显示 更早的评论
I am getting an error, can someone help me please.

3 个评论
Ameer Hamza
2020-10-7
What is the error?
John D'Errico
2020-10-7
When you have an error, please report the ENTIRE error message, thus everything in red. Doing so will often help us to immediately know what you did wrong.
Ibrahim Butt
2020-10-7
回答(1 个)
Alan Stevens
2020-10-7
0 个投票
Apart from the fact that you forgot to put "end" at the end of the function (the "end" of the "for" loop doesn't count), there is nothing wrong with it.
3 个评论
Ibrahim Butt
2020-10-7
Alan Stevens
2020-10-7
You have written it as a function. You need to call the function from a script, passing it a handle to F, and values of the other arguments.
Alan Stevens
2020-10-7
Like this:
F = @(t,y) y + t; % Define your dy/dt function
y0 = 1; % Initial condition
t0 = 0;
tfinal = 2;
h = (tfinal-t0)/100;
yout = ode1(F,t0,h,tfinal,y0);
plot(t0:h:tfinal,yout),grid
xlabel('t'),ylabel('y')
function yout = ode1(F,t0,h,tfinal,y0)
% ODE1 A simple ODE solver.
% yout = ODE1(F,t0,h,tfinal,y0) uses Euler's
% method with fixed step size h on the interval
% t0 <= t <= tfinal
% to solve
% dy/dt = F(t,y)
% with y(t0) = y0.
% Copyright 2014 - 2015 The MathWorks, Inc.
y = y0;
yout = y;
for t = t0 : h : tfinal-h
s = F(t,y);
y = y + h*s;
yout = [yout; y];
end
end
类别
在 帮助中心 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

