adding a value to all values in a table

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 comentarios

Walter Roberson
Walter Roberson el 11 de Abr. de 2020
Are all of the variables the same datatype, and in particular the same numeric datatype ?
Aaron Dubiansky
Aaron Dubiansky el 11 de Abr. de 2020
yes, it's just a table of numbers from a test, no text at all
Aaron Dubiansky
Aaron Dubiansky el 11 de Abr. de 2020
as in sensor data values.

Iniciar sesión para comentar.

Respuestas (2)

dpb
dpb el 11 de Abr. de 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
Walter Roberson el 11 de Abr. de 2020
T = array2table(table2array(T)+300, 'variablenames', T.Properties.Variablenames);
Or
T{:, :} = T{:, :} + 300;

Categorías

Productos

Preguntada:

el 11 de Abr. de 2020

Respondida:

el 11 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by