Filter löschen
Filter löschen

index exeeds matrix dimensions error

2 Ansichten (letzte 30 Tage)
Susan Santiago
Susan Santiago am 6 Mai 2018
Kommentiert: Ameer Hamza am 6 Mai 2018
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

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 6 Mai 2018
Bearbeitet: Ameer Hamza am 6 Mai 2018
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 Kommentare
Susan Santiago
Susan Santiago am 6 Mai 2018
thank you!
Ameer Hamza
Ameer Hamza am 6 Mai 2018
you are welcome.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by