How can I assign a single column of a 0x10 empty table
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rafael Cordero
am 29 Nov. 2021
Beantwortet: Star Strider
am 29 Nov. 2021
Hello folks,
I have a 0x10 empty table. That is: the table variables are declared but there is no actual data entries in the table. Let's call it
myTable
I am trying to assign the first column of the table like so:
myTable.firstVariable = [0:1:length(x)]';
But alas this returns the following error:
To assign to or create a variable in a table, the number of rows must match the height of the table.
Of course, the height of the table is currently 0. Its height will be dictated by another variable x. I do not care what the other variables will be populated with at this time (i.e. [], or 0, or NaN, or whatever), I will populate them later.
How can I assign the first variable?
Thank you!
PS: I cannot use a struct or array. The datatype must remain as a table.
0 Kommentare
Akzeptierte Antwort
Star Strider
am 29 Nov. 2021
Preallocation for table arrays is possible.
myTable = table('Size',[10 1], 'VariableNames',{'firstVariable'}, 'VariableTypes',{'double'})
myTable.firstVariable = (1:numel(myTable.firstVariable)).'
.
0 Kommentare
Weitere Antworten (1)
Matt J
am 29 Nov. 2021
Bearbeitet: Matt J
am 29 Nov. 2021
I cannot use a struct or array. The datatype must remain as a table.
You cannot avoid wokring with arrays as an intermediary, however, the data does not have to remain as an array. You can convert it to a table, e.g.,
T=nan(5,10);
T(:,1)=1:5;
T=array2table(T)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!