Comma-separated assignment to a table variable
古いコメントを表示
The code below tests assignment by comma-separated expansion to a cell array in 3 different scenarios. In the specific case when the cell array X is the variable of a table, it fails. Why is that?
X=cell(1,3);
S.X=X;
T=table(X);
[X{:}]=deal(1,2,3) %Case (1) : works fine
[S.X{:}]=deal(1,2,3) %Case (2) : works fine
[T.X{:}]=deal(1,2,3) %Case (3) : fails
回答 (1 件)
The table is a one-row cell array in one vairable so it can be assigned directly as a cell can be...
X=cell(1,3);
T=table(X)
T.X={1 2 3}
No need for deal() here as the dot-X notation returns the cell array in its entirety. Of course, in a table cell, it can contain anything any other cell can
T.X(1:2)={1 2};
T.X(3)={'Fred Flintstone'}
T.X
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!