Storing Outputs of a two output function recursion

4 views (last 30 days)
Is there a method where I can apply a function with two outputs, and iterate the function recursively for these two outputs. In other words, I want this function to be applied on both outputs of this function until satisfying a condition(in a while loop),
UPDATE:I tried the recursion provided here by Image analyst ,https://www.mathworks.com/matlabcentral/answers/47182-problem-in-recursive-function, it worked well, but I want to keep storing all the outputs in 1 cell structure, is it possible?
  1 Comment
farah fadel
farah fadel on 25 Mar 2020
I tried the answer provided here by Image analyst ,https://www.mathworks.com/matlabcentral/answers/47182-problem-in-recursive-function, it worked well, but I want to keep storing all the outputs in 1 cell structure, is it possible

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 25 Mar 2020
Yes. There is no limitation on the number of outputs for recursive function.
  4 Comments
farah fadel
farah fadel on 25 Mar 2020
Edited: farah fadel on 25 Mar 2020
no I want to store all the outputs coming of the recursion function. In each iteration of the recursive function, the two outputs should be stored in an cell structure containing all previous otputs too.
Fangjun Jiang
Fangjun Jiang on 25 Mar 2020
Then it is not really an issue related to recursion. It is just storing data. The only thing to take care of is to declare a big enough arry or cell because the number of iteration is not determined. You can remove the un-used array space at the end.
x=100;y=200;
k=0;
result=ones(100,2);
while x>1e-3 && y>1e-4
k=k+1
[x,y]=D23(x,y);
result(k,:)=[x,y];
end
result(k+1:end,:)=[]
function [x,y]=D23(x,y)
x=x/2;
y=y/3;
end

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!