tableデータの変数名を割り当てる方法

34 views (last 30 days)
s
s on 21 Mar 2023
Commented: s on 21 Mar 2023
table型において、変数名を明示的に宣言せずに、割り当てて、table型の変数を作成する方法を教えていただきたいです。
x1 = 100;
x2 = 200;
table( x1, evalin( 'base' , "x2" ) )
ans = 1×2 table
x1 Var2 ___ ____ 100 200
この状態だと、tableの変数の中の「X2」の変数名は「Var2」となります。
「X2」の変数名を「X2」のままtable型に格納したい場合はどうすればいいでしょうか。
本来は
table( x1, x2 )
ans = 1×2 table
x1 x2 ___ ___ 100 200
とすればいいですが、変数名を自動化で割り当てたいと思っています。
何かいい方法があればご教示いただけますと助かります。
それとも、table型は明示的に変数名を宣言しないと、その変数名で値を格納できないのでしょうか。

Accepted Answer

Hernia Baby
Hernia Baby on 21 Mar 2023
x2の変数名を自動で割り当てたいということですね。
Variablenameオプションはいかがでしょうか?
例えば a, b を x1, x2 のようにしたいと考えたとします。
a = 100;
b = 200;
vnames = ["x1","x2"];
table(a,b,'VariableNames',vnames)
ans = 1×2 table
x1 x2 ___ ___ 100 200
  3 Comments
Atsushi Ueno
Atsushi Ueno on 21 Mar 2023
Edited: Atsushi Ueno on 21 Mar 2023
おそらく自動化スクリプトが変数名の情報を持っていて下記の様に設定するのだと思いますが、
table( x1, evalin( 'base' , "x2" ) )
evalin 関数でなくても、eval 関数に直接変数名を書いても良いのではないかとも思いました。
eval(['table(',varname1,',',varname2,');']); % やり方次第で可変個数にもできる
s
s on 21 Mar 2023
ご回答ありがとうございます。おかげさまで解決できました。感謝いたします。

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!