How to return a value in a recursive function in MATLAB

12 次查看(过去 30 天)
I have a recursive function to calculate the multiplicative persistence of an integer. I can print the value inside the function. My question is how can I return the value to the outside of the function.
Here is my code:
I want to return the value of num
function per(n, varargin)
if nargin == 1
num = 0;
else
num = varargin{1};
end
s = num2str(n);
if (length(s) == 1)
disp(['Persistence: ' num2str(num)]);
return;
end
num = num + 1;
res = 1;
for i = 1:length(s)
res = res * str2double(s(i));
end
per(res, num);
end
Something like num = per(n)

采纳的回答

Walter Roberson
Walter Roberson 2019-3-25
function num = per(n, varargin)
and at the end, probably
num = per(res, num)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Argument Definitions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by