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

32 Ansichten (letzte 30 Tage)
s
s am 21 Mär. 2023
Kommentiert: s am 21 Mär. 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型は明示的に変数名を宣言しないと、その変数名で値を格納できないのでしょうか。

Akzeptierte Antwort

Hernia Baby
Hernia Baby am 21 Mär. 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 Kommentare
Atsushi Ueno
Atsushi Ueno am 21 Mär. 2023
Bearbeitet: Atsushi Ueno am 21 Mär. 2023
おそらく自動化スクリプトが変数名の情報を持っていて下記の様に設定するのだと思いますが、
table( x1, evalin( 'base' , "x2" ) )
evalin 関数でなくても、eval 関数に直接変数名を書いても良いのではないかとも思いました。
eval(['table(',varname1,',',varname2,');']); % やり方次第で可変個数にもできる
s
s am 21 Mär. 2023
ご回答ありがとうございます。おかげさまで解決できました。感謝いたします。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Logical finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!