index exeeds matrix dimensions error

1 回表示 (過去 30 日間)
Susan Santiago
Susan Santiago 2018 年 5 月 6 日
コメント済み: Ameer Hamza 2018 年 5 月 6 日
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

採用された回答

Ameer Hamza
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];
  4 件のコメント
Susan Santiago
Susan Santiago 2018 年 5 月 6 日
thank you!
Ameer Hamza
Ameer Hamza 2018 年 5 月 6 日
you are welcome.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by