Convert matrix to Uitable
2 views (last 30 days)
Show older comments
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 Comment
Image Analyst
on 8 Jun 2013
Why give you a hand here rather than the thousand of other posts on this question that you've posted?
Accepted Answer
Image Analyst
on 8 Jun 2013
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 Comments
Walter Roberson
on 8 Jun 2013
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
on 9 Jun 2013
Edited: Image Analyst
on 9 Jun 2013
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.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!