how to make computations with a cell array?
显示 更早的评论
I have a cell array:
results = {5,2};
that is:
results =
[1x5 double] [1x1 prob.NormalDistribution ]
[1x5 double] [1x1 prob.tLocationScaleDistribution]
[1x5 double] [1x1 gmdistribution ]
[1x5 double] [1x1 gmdistribution ]
[1x5 double] [1x1 struct ]
so there is 5 vectors made of 5 doubles (but the number of vectors is not important). Writing something like:
results{3,1}(2) = 3;
there are no problems: the second place of the third vector of the "first column" of the cell array becomes equal to 3.
My purpose is to compute the minimum value of the fifth places of all the vectors (in the first column of the cell array)
I have tried with:
lower = min(results{:,1}(5));
And it gives:
Bad cell reference operation.
I have tried very different ways to obtain something, but always the same error.
Is there a simple solution to my problem? Thank you in advance
采纳的回答
更多回答(1 个)
Michael Haderlein
2015-1-29
编辑:Michael Haderlein
2015-1-29
Dear Simo,
min(cellfun(@(x) x(5),results(:,1)))
does the job.
Best regards,
Michael
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!