How to display in a table?
2 次查看(过去 30 天)
显示 更早的评论
There are total 36 states with me in a table named "Mytable", each state being 6 characters long.
Suppose, I have an initial state (column cell), A=[i, j, k, l, m, n]; and final state (row cell), C=[i+1, j, k, l, m, n];
I want to show the output in "Mytable" as 'hello' whenever a transition like A to C types takes place.
What function, coding can be used to display 'hello' in "Mytable" in such kind of transitions?
Kindly suggest
2 个评论
回答(1 个)
Walter Roberson
2017-10-9
编辑:Walter Roberson
2017-10-9
states = {'000000', '100000', '012103', '112103', '212103', '230213'};
prefix = 't';
varnames = strcat({prefix}, states);
rownames = states;
MyTable = array2table(cell(6,6),'VariableNames', varnames, 'RowNames', rownames);
A = [0 1 2 1 0 3];
C = A + [1 0 0 0 0 0];
src = sprintf('%d', A);
dst = [prefix sprintf('%d', C)];
MyTable{src, dst} = {'hello'};
... However, last time we checked with you, you were using R2013a, which does not have table objects, so this would not seem to be of any interest to you ?
7 个评论
Walter Roberson
2017-10-10
You need to provide it with the source states at least. It is not possible to create a "macro" that automatically adds the target state and appropriate entry as soon as it detects that a new source state has been added.
states = {'000000', '100000', '012103', '112103', '212103', '230213'};
prefix = 't';
varnames = strcat({prefix}, states);
rownames = states;
MyTable = mat2dataset(cell(6,6),'VarNames', varnames, 'ObsNames', rownames);
A = [0 0 0 0 0 0; 0 1 2 1 0 3; 1 1 2 1 0 3 ];
C = bsxfun(@plus, A, [1 0 0 0 0 0]);
src = cellstr( num2str(A, '%d'));
dst = strcat( {prefix}, cellstr( num2str(C, '%d') ));
for K = 1 : length(src)
MyTable{src{K}, dst{K}} = 'hello';
end
In the above, you can create your "A" array by using the filter techniques we discussed in your earlier postings.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!