adding a value to all values in a table
Show older comments
So I have a 19880x1 table and I want to take the original values of the table, add 300 to those values, and create a new table of the new values. I've looked into varfun but I can't find a way to define func to add 300 without matlab yelling at me for this error: Operator '+' is not supported for operands of type 'table'.
3 Comments
Walter Roberson
on 11 Apr 2020
Are all of the variables the same datatype, and in particular the same numeric datatype ?
Aaron Dubiansky
on 11 Apr 2020
Aaron Dubiansky
on 11 Apr 2020
Answers (2)
dpb
on 11 Apr 2020
You address the variables in a table with the dot notation --
t.Var1=t.Var1+300; % store in place
t.Var2=t.Var1+300; % make new variable in existing table
u.Var1=t.Var1+300; % make a new table
Use whatever is your table variable in place of t and what is the variable name in the table for 'Var1' -- that's the default if don't provide any.
Walter Roberson
on 11 Apr 2020
T = array2table(table2array(T)+300, 'variablenames', T.Properties.Variablenames);
Or
T{:, :} = T{:, :} + 300;
Categories
Find more on Structures in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!