Convert matrix to Uitable
2 ビュー (過去 30 日間)
古いコメントを表示
A matrix is here
U(35)=9;
U(44)=29;
A=[-1,1,1;0,-1,0;0,0,-1;1,0,0];
blnA = logical( A == -1 );
blnOut = find(any(A == -1,2));
max(blnOut);
negcolumn = find(A(max(blnOut),:) == -1);
onerow = find(A(:,negcolumn) == 1);
And i just wanna convert that matrix to uitable. Because i need a given row name and column name.
f = figure('Position',[10 10 600 600]);
dat = {-1,1,1;0,-1,0;0,0,-1;1,0,0};
cnames = {'18','29','51'};
rnames = {'12','26','35','44'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[10 10 590 590]);
max(blnOut)
ans =
3
My expected result is 35.
And will use that value 35 like that
U(ans)=?
U(35)
ans =
9
If i solve it, My whole calculation will be perfect. Please give me your hand
1 件のコメント
Image Analyst
2013 年 6 月 8 日
Why give you a hand here rather than the thousand of other posts on this question that you've posted?
採用された回答
Image Analyst
2013 年 6 月 8 日
This will do it:
U(35)=9;
U(44)=29;
A=[-1,1,1;0,-1,0;0,0,-1;1,0,0];
blnA = sum( A == -1, 2 )
lastRow = find(blnA, 1, 'last')
f = figure('Position',[10 10 600 600]);
dat = {-1,1,1;0,-1,0;0,0,-1;1,0,0}
columnHeaders = {'18','29','51'};
rowHeaders = {'12','26','35','44'};
t = uitable('Parent',f,'Data',dat,'ColumnName',columnHeaders,...
'RowName',rowHeaders,'Position',[10 10 590 590]);
theAnswer = str2double(rowHeaders{lastRow})
% Get that number from U:
finalAnswer = U(theAnswer)
2 件のコメント
Walter Roberson
2013 年 6 月 8 日
Though if you are going to do that, why not just use numeric column names and row names?
columnHeaders = {18,29,51};
rowHeaders = {12,26,35,44};
and then
theAnswer = rowHeaders{lastRow};
Image Analyst
2013 年 6 月 9 日
編集済み: Image Analyst
2013 年 6 月 9 日
Yes, that's best, and what I suggested in my other answer in one of Light's duplicate questions (that I didn't delete). The whole intent of the code is just an incomprehensible mess to me - I have no idea what Light wants, and consequently can't suggest a good approach.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!