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일

0 개 추천

k = c(1:size(c,1)+1:end));% EDIT (diag(c));
or
k = c(eye(size(c))>0);
out = min([k{:}],[],2);

댓글 수: 6

Nik Zakh
Nik Zakh 2015년 3월 13일
Undefined function 'diag' for input arguments of type 'cell'
Andrei Bobrov
Andrei Bobrov 2015년 3월 13일
편집: Andrei Bobrov 2015년 3월 13일
Sorry, I now use Octave... fixed.
Nik Zakh
Nik Zakh 2015년 3월 13일
It works ! Thanks ! Now I need to understand HOW does it work :)
Nik Zakh
Nik Zakh 2015년 3월 22일
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);
Nik Zakh
Nik Zakh 2015년 3월 23일
That's easy ! Thank you one more time !

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jos (10584)
Jos (10584) 2015년 3월 23일

0 개 추천

min(cat(2,c{1:size(c,1)+1:end}),[],2)

카테고리

도움말 센터File Exchange에서 Polynomials에 대해 자세히 알아보기

태그

질문:

2015년 3월 13일

답변:

2015년 3월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by