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

68 vues (au cours des 30 derniers jours)
s
s le 21 Mar 2023
Commenté : s le 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型は明示的に変数名を宣言しないと、その変数名で値を格納できないのでしょうか。

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!