index exeeds matrix dimensions error
2 次查看(过去 30 天)
显示 更早的评论
t0 = 0;
tf = 0.4;
h = 0.1;
y0 = [2,4];
f = @(y,t) [-2*y(1) + 5*exp(-t); (-y(1).*(y(2).^2))/2];
prob2res1 = myEuler3(f,y0,t0,tf,h)
[t, prob2res4] = ode45(f,[0,0.4],y0)
my euler function is below
function [sol] = myEuler3(F, y0, ti, tf, h)
t = ti:h:tf;
y = zeros(length(y0),length(t));
y(:,1) = y0;
for i = 2:length(t)
y(:,i) = y(:,i-1) + h*F(t(i-1),y(:,i-1));
end
sol = [ t; y ];
end
0 个评论
采纳的回答
Ameer Hamza
2018-5-6
编辑:Ameer Hamza
2018-5-6
The first argument in anonymous function f should be time t. Reverse the order like this
f = @(t, y) [-2*y(1) + 5*exp(-t); (-y(1).*(y(2).^2))/2];
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!