How to initialize a table column to a character array?

8 vues (au cours des 30 derniers jours)
Kurt
Kurt le 30 Nov 2022
Commenté : Dyuman Joshi le 6 Oct 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 commentaire
Kurt
Kurt le 30 Nov 2022
I could do all of this with a for loop, but I prefer not to.

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 30 Nov 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 commentaires
Bright
Bright le 6 Oct 2023
what if you try
filetext.var2 = MET
Dyuman Joshi
Dyuman Joshi le 6 Oct 2023
@Bright, why don't you try and see?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by