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

 Réponse acceptée

Rik
Rik le 14 Juil 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')
BB = 2×3
0.5795 1.7180 2.7723 0.5537 1.5030 2.3653
function [output1, output2, output3] = Myfunc(input1, input2, input3, input4)
output1=rand;output2=1+rand;output3=2+rand;
end

3 commentaires

Touts Touts
Touts Touts le 14 Juil 2021
Dear Rik; thank you for the reply.
The output of Myfunc are not of the same Class and not of the same Size output1 is a scalar, output2 is a matrix, output3 is an string. How i can get a table as :
[output1, output2, output3] the j = 1
[output1, output2, output3] the j = 2
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')
BB = 2×3 table
Var1 Var2 Var3 __________________ ______ ______ 0.51821 0.93848 1.9516 2.9263 0.72344 0.64505 1.781 2.087
function [output1, output2, output3] = Myfunc(input1, input2, input3, input4)
output1=rand(1,2);output2=1+rand;output3=2+rand;
end
Touts Touts
Touts Touts le 14 Juil 2021
@Rik, Thanks, it work correctly

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Produits

Version

R2009b

Community Treasure Hunt

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

Start Hunting!

Translated by