cell cal from function problem
    6 views (last 30 days)
  
       Show older comments
    
Hello, please i have a function whith 4 input values and 3 outputs
[output1, output2, output3] = Myfunc(input1, input2, input3, input4)
when I call Myfunc in a for loop i get a cell, the matrix of this cell is a one vector output
for j = 1 : 2
    AA{j} = Myfunc(input1, input2, input3, input4)
end
BB = cell2mat(AA')
But I mus have
[output1, output2, output3]  the j = 1
[output1, output2, output3]  the j = 2
So the BB matrix must be a 3 columns and 2 rows.  Thanks
0 Comments
Accepted Answer
  Rik
      
      
 on 14 Jul 2021
        If you pre-allocate the cell array you can use a comma separated list:
[input1, input2, input3, input4]=deal(rand);
AA=cell(3,2);
for n = 1 : 2
    [AA{:,n}] = Myfunc(input1, input2, input3, input4);
end
BB = cell2mat(AA')
function [output1, output2, output3] = Myfunc(input1, input2, input3, input4)
output1=rand;output2=1+rand;output3=2+rand;
end
3 Comments
  Rik
      
      
 on 14 Jul 2021
				If you want to covert a cell to a table, I would expect cell2table to do the trick. This wasn't specid=fied in your question, so I didn't do that in my answer.
[input1, input2, input3, input4]=deal(rand);
AA=cell(3,2);
for n = 1 : 2
    [AA{:,n}] = Myfunc(input1, input2, input3, input4);
end
BB = cell2table(AA')
function [output1, output2, output3] = Myfunc(input1, input2, input3, input4)
output1=rand(1,2);output2=1+rand;output3=2+rand;
end
More Answers (0)
See Also
Categories
				Find more on Matrices and Arrays 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!
