Borrar filtros
Borrar filtros

How to initialize a table column to a character array?

9 visualizaciones (últimos 30 días)
Kurt
Kurt el 30 de Nov. de 2022
Comentada: Dyuman Joshi el 6 de Oct. de 2023
I have a table "filetext" which is 19343x46. I want to append a colum on the right containing the character array 'MET'. In other words, 19343 rows of the characters 'MET'. How do I do this? I have tried various approaches.
I created a column that is the same height as filetext:
met = [height(filetext),1];
Then I tried populating it with 'MET'
met(1:height(filetext),1) = 'MET';
but I get the error message
"Unable to perform assignment because the size of the left side is 19393-by-1 and the size of the right side is 1-by-3."
If this was a simple zero initialization I could just do:
filler = zeros(height(filetext),1);
but I don't know how to do this for characters.
  1 comentario
Kurt
Kurt el 30 de Nov. de 2022
I could do all of this with a for loop, but I prefer not to.

Iniciar sesión para comentar.

Respuesta aceptada

Voss
Voss el 30 de Nov. de 2022
% a table:
filetext = table([1;2;3;4;5;6])
filetext = 6×1 table
Var1 ____ 1 2 3 4 5 6
% append a column of all 'MET' on the right:
filetext{:,end+1} = 'MET'
filetext = 6×2 table
Var1 Var2 ____ ____ 1 MET 2 MET 3 MET 4 MET 5 MET 6 MET
  4 comentarios
Bright
Bright el 6 de Oct. de 2023
what if you try
filetext.var2 = MET
Dyuman Joshi
Dyuman Joshi el 6 de Oct. de 2023
@Bright, why don't you try and see?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by