Recursive Method returning answers backwards
Mostra commenti meno recenti
Consider my code for Euler's Method below. If you run the code, you will see the correct values be stored in the matrix "vals", but after the return statement, the "vals" that is returned is from the first iteration. Why does MATLAB do this?
f = @(x,y)(x^2*(2+y));
ans = euler(1, 0.1, f, 0.0, 1.0, [])
function vals = euler(y,h,f,start,finish,vals)
if (finish - h < start)
y;
return
else
y = y + h*f(start,y)
start = start + h
vals = [vals,y]
euler(y,h,f,start,finish, vals)
end
end
1 Commento
John D'Errico
il 2 Mag 2023
Modificato: John D'Errico
il 2 Mag 2023
MATLAB does what you tell it to do. It is not DOING anything to you. Just your code, code written in error. Why you are usign recursion, I don't know, since Euler is simple to write with a loop. Read the answer from James.
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Numerical Integration and Differentiation in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!