Problems with cell array

For example, I've got cell array:
c = {[10 12 13]' [4 5 6]' [7 8 9]';...
[10 20 30]' [40 5 60]' [70 80 90]';...
[100 200 300]' [400 500 600]' [3 800 9]' }
I need to find min in every row of c{i,j}, where i=j. So, I need to take c{1,1}, c{2,2}, c{3,3} and to find min of every row. I dont think my description is clear, so see the attached file. So the answer must be
ans = [3 5 9]'
Thanks a lot !

 采纳的回答

Andrei Bobrov
Andrei Bobrov 2015-3-13
编辑:Andrei Bobrov 2015-3-13
k = c(1:size(c,1)+1:end));% EDIT (diag(c));
or
k = c(eye(size(c))>0);
out = min([k{:}],[],2);

6 个评论

Undefined function 'diag' for input arguments of type 'cell'
Sorry, I now use Octave... fixed.
It works ! Thanks ! Now I need to understand HOW does it work :)
Thanks for the previous answer ! Can you now help me to do the same thing, but for the case when i~=j ? Thanks !
variant
k = c(~eye(size(c)));
out = min([k{:}],[],2);
That's easy ! Thank you one more time !

请先登录,再进行评论。

更多回答(1 个)

类别

帮助中心File Exchange 中查找有关 Polynomials 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by