How to initialize a table column to a character array?

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 Commento

I could do all of this with a for loop, but I prefer not to.

Accedi per commentare.

 Risposta accettata

% 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 Commenti

Thanks! There's always a simple solution out there, somewhere.
Voss
Voss il 30 Nov 2022
Modificato: Voss il 30 Nov 2022
You're welcome!
what if you try
filetext.var2 = MET
@Bright, why don't you try and see?

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2022b

Richiesto:

il 30 Nov 2022

Commentato:

il 6 Ott 2023

Community Treasure Hunt

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

Start Hunting!

Translated by