Adding a new variable to a table and assigning a value

3 views (last 30 days)
I am working with a table with multiple variables (called T3) - dimensions are 1349x26. This is one station (CTD instrument).
I want to add a new variable called Station ID and define it's value as 3 for all 1349 rows.
I know how to do it in the table, but I am confused how to write it in a code.
Example of what I did:
Station ID = 3;
T3 = addvars(T3, Station ID, 'Before', 'VarName1');
I was using the addvars function but I kept getting an error because Station ID's number of rows, does not match the table's height.
How can I define Station ID's dimensions and fill all 1349 rows with the same value?

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 22 Sep 2023
Edited: Dyuman Joshi on 22 Sep 2023
"How can I define Station ID's dimensions and fill all 1349 rows with the same value? "
There are many ways of doing that -
%Number of rows in the table
s = size(T3,1);
%Method 1
Station_ID = 3*ones(s,1);
%Method 2
Station_ID = repelem(3,s,1);
%Method 3
Station_ID = 3 + zeros(s,1);
  2 Comments
Rachel
Rachel on 22 Sep 2023
Thank you!
Just a clarification, the 1 in s= size(T3,1) means just for one column correct?
Dyuman Joshi
Dyuman Joshi on 22 Sep 2023
Edited: Dyuman Joshi on 22 Sep 2023
No, the 1 is used to get the size of the 1st dimension of T3, as rows are the 1st dimension of matrices.
Here's an example to give you more idea about it -
T3 = zeros(2,3,5);
%Get the size of T3
size(T3)
ans = 1×3
2 3 5
%Get the size of 1st dimension of T3
size(T3,1)
ans = 2
%Get the size of 2nd dimension of T3
size(T3,2)
ans = 3
%Get the size of 3rd dimension of T3
size(T3,3)
ans = 5
Refer to the documentation of size for additional information.
Also, @Rachel, if my answer solved your problem, please consider accepting it.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!