How to display in a table?

2 visualizzazioni (ultimi 30 giorni)
surabhi sachdeva
surabhi sachdeva il 9 Ott 2017
Commentato: surabhi sachdeva il 11 Ott 2017
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 Commenti
Image Analyst
Image Analyst il 9 Ott 2017
Are A and C table variables, or cell arrays, or double arrays?
surabhi sachdeva
surabhi sachdeva il 10 Ott 2017
A and C represent state transition rules. They are double arrays.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 9 Ott 2017
Modificato: Walter Roberson il 9 Ott 2017
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 Commenti
Walter Roberson
Walter Roberson il 10 Ott 2017
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.
surabhi sachdeva
surabhi sachdeva il 11 Ott 2017
OK, sir. It means I have to add all the input states individually.
Thanks so much for your immediate responses. I was confused about this before.
Now I will try according to your suggestions.
Thanks once again.
Regards Surabhi

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by