Problems with cell array

2 views (last 30 days)
Nik Zakh
Nik Zakh on 13 Mar 2015
Answered: Jos (10584) on 23 Mar 2015
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 !

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 13 Mar 2015
Edited: Andrei Bobrov on 13 Mar 2015
k = c(1:size(c,1)+1:end));% EDIT (diag(c));
or
k = c(eye(size(c))>0);
out = min([k{:}],[],2);
  6 Comments
Andrei Bobrov
Andrei Bobrov on 23 Mar 2015
variant
k = c(~eye(size(c)));
out = min([k{:}],[],2);
Nik Zakh
Nik Zakh on 23 Mar 2015
That's easy ! Thank you one more time !

Sign in to comment.

More Answers (1)

Jos (10584)
Jos (10584) on 23 Mar 2015
min(cat(2,c{1:size(c,1)+1:end}),[],2)

Categories

Find more on Time Series in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!