У меня есть простой m-файл, который я создал как рекурсивную функцию:
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
Расчет скорости выполняется правильно, поскольку он печатает каждую рекурсию. Однако «ans», который возвращается в конце, является первым вычисленным значением рекурсии. У меня вопрос, как правильно установить рекурсивную функцию Matlab? Или это можно сделать, и лучше ли использовать цикл?