How to initialize a table column to a character array?

8 ビュー (過去 30 日間)
Kurt
Kurt 2022 年 11 月 30 日
コメント済み: Dyuman Joshi 2023 年 10 月 6 日
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 件のコメント
Kurt
Kurt 2022 年 11 月 30 日
I could do all of this with a for loop, but I prefer not to.

サインインしてコメントする。

採用された回答

Voss
Voss 2022 年 11 月 30 日
% 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 件のコメント
Bright
Bright 2023 年 10 月 6 日
what if you try
filetext.var2 = MET
Dyuman Joshi
Dyuman Joshi 2023 年 10 月 6 日
@Bright, why don't you try and see?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by