Hi! This might be an easy question, but since I am new in matlab, I do not know how to add one row in the first row of table. have a table consist only one column called "timediff" with the size 2143x1 table, I want to make it 2144x1 table, with the addition one row in the first row, and the value is 0. Could you please help me? Thank you in advance

 Akzeptierte Antwort

Birdman
Birdman am 7 Nov. 2017

0 Stimmen

You have to convert the array elements to string, add the specified row and then create a table. An example:
a=5*ones(2143,1);%this is a double array
aTable=array2table(a);%2143x1 table
b=3;%new variable to be added
aNewTable=array2table(str2double([string(b);string(a)]));%2144x1 table

3 Kommentare

sorry I forgot, because this will be an automation data, the number of rows would be changed based on the chosen data. But it's still to add one row in the first row. Assuming we dont know the number of rows, do you know how to do it? Thank you for your help
row=input('Enter number of rows\n');
a=5*ones(2143,1);
aTable=array2table(a);
b=3*ones(row,1);
aTablee=array2table(str2double([string(b);string(a)]))
We can make the number of row variable like this, a user data.
It works! Thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Peter Perkins
Peter Perkins am 16 Nov. 2017

0 Stimmen

My first observation is that if your table has only one variable, you are likely better off not using a table. They are containers for mix-type data. But your Nx1 table may just be a starting point for more vars.
To add a row at the beginning, do exactly the same thing you would do with a numeric vector: use vertcat.
>> t = table([1;2;3])
t =
3×1 table
Var1
____
1
2
3
>> t = [table(0); t]
t =
4×1 table
Var1
____
0
1
2
3

Kategorien

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by