Comment correctement utiliser la Récursivité dans MATLAB?

J'ai un simple m fichier que j'ai créé comme une fonction récursive:

function[velocity] = terminal(m,c,t,vi)
%inputs:
% m = mass
% c = coeffcient of drag
% t = time
% vi = initial velocity

if t==18, velocity = vi+(9.8-c/m*(vi))*2;
    return 
end

velocity = vi+(9.8-c/m*(vi))*2;
velocity  %used to print out velocity for debugging
terminal(m,c,t+2,velocity);
end

Le calcul de la vitesse est effectué correctement comme il imprime à chaque récursion. Cependant, la "ans" qui est retourné à la fin est la première valeur calculée de la récursivité. Ma question est comment puis-je correctement l'installation d'un matlab fonction récursive? Ou peut-il être fait, et est-il mieux utiliser une boucle?

Dans Matlab, une boucle serait probablement plus efficace.

OriginalL'auteur James Mertz | 2011-01-21