MATLAB tableについて

MATLABのtableを使用する際に、各列の配列名を取得するためには、どうすればよいのでしょうか。
↓A,Bをtableから抽出したいです。
   A    B
---------------------------------------
1| 43 44

2 Comments

Kojiro Saito
Kojiro Saito on 20 Feb 2024
AとBの左右に全角のスペースが入っていますが、実際のデータまたはファイルもそのようになっていますか?
晃平
晃平 on 20 Feb 2024
コメントありがとうございます。
A,Bは列名、1は行名、43,44はテーブル内の1行目データです。
テーブルデータの列名A,Bの値を取得したいです。 

Sign in to comment.

 Accepted Answer

次のようにアクセスできます。
t = table([43],[44],'VariableNames',{'A','B'})
t = 1x2 table
A B __ __ 43 44
t.Properties.VariableNames
ans = 1x2 cell array
{'A'} {'B'}

5 Comments

晃平
晃平 on 21 Feb 2024
ありがとうございます。
追加で質問なのですが、t.Properties.VariableNamesで取得した、
AとBを変数として使いたい場合はどのようにすればよろしいでしょうか。
A=数値 をワークスペースに登録
それぞれ別々の変数として使いたい、ということでしょうか。下記のような感じでいかがでしょうか。
t = table([43],[44],'VariableNames',{'A','B'});
variableNames = t.Properties.VariableNames;
A = variableNames{1}
A = 'A'
B = variableNames{2}
B = 'B'
文字列から変数を作成されたいのであれば、assigninあるいはevalでしょうか。
t = table([43],[44],'VariableNames',{'A','B'});
variableNames = t.Properties.VariableNames;
assignin('base',variableNames{1},1);
A
A = 1
value2=2;
eval([variableNames{2},'=value2;'])
B
B = 2
Dyuman Joshi
Dyuman Joshi on 21 Feb 2024
"AとBを変数として使いたい場合はどのようにすればよろしいでしょうか"
Once again, why do you want to do that?
晃平
晃平 on 26 Feb 2024
解決できました。
ありがとうございます。
str{変数名}=Value{値};
str{1,2}=Value{1,1};

Sign in to comment.

More Answers (0)

Products

Release

R2022b

Tags

Asked:

on 20 Feb 2024

Commented:

on 26 Feb 2024

Community Treasure Hunt

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

Start Hunting!