変数からの行列変数を定義した場合
a=5;
b=3;
最も速く/最もエレガントな方法は何ですか?
m = [5,3]
もっと良いものはありますか
m= Matrix(Eval({a,b}));そしてなぜそうなるのか
m=[Eval(a),Eval(b)]
うまくいかない?
関連記事へのリンクは大歓迎です:)
高度な統計モデリング消費者および市場調査実験計画法Re: 変数からの行列についてどう思いますか
a=5;
b=3;
m=matrix(a) |/b //-> works !?!
すべての組み合わせなぞなぞ1つの式で:)
Re: 変数からの行列すごいですね
[](0,1) |/ a |/ b
動作します。つまり、引数を自動的に評価して行列に変換するということですか?
a= {{5,3}}
b = {{7 ,6}}
[](0,2) |/ a |/ b
学んだことを同僚と共有しているときに、次のことに気づきました。
今まで、[a, b] はコンストラクターの短縮形だと思っていました。行列({a,b}) 。
しかし、それは結果、 右?
今私は本当に意味を理解してください::
@Erratic Attack書きました:
マトリックスに式を入れることはできません要素
そうなると、前回の投稿の例は意味がありません。 Matrix() 関数には次のような機能がないため、機能しません。数値以外の値を「.」に設定します。 (欠落) - 元のトピックを比較します。
ところで:
この結果を見て少し驚いていますマトリックス(3) 。 イースターエッグのようなものですか?
Re: 変数からの行列わかりました。ご説明ありがとうございました。
@Erratic Attack書きました:
行列要素に式を入れて、その式によって返される数値が入力されることを期待することはできません。
良い言葉遣いです:)
うまくいくかもしれませんが、うまくいくことを期待することはできません。
a=5;
matrix(a/b); // -> works<BR />matrix(char(a)) // -> doesn't
matrix({char(a)}) // --> doesn't (I hoped this could be a workaround ...)</CODE></P><P><FONT face="arial,helvetica,sans-serif"><CODE class=" language-jsl">それで ..
@Erratic Attack書きました:
行列では式は厳密に_禁止_されており、数値のみが許可されます。
少し厳しすぎるように思えますが、「安全側に立つ」には良いアプローチです。
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-594389" slang="en-US" mode="NONE">Re: 変数からの行列</LINGO-SUB><LINGO-BODY id="lingo-body-594389" slang="en-US" mode="NONE"><P>使用する<CODE class=" language-jsl">行列( {a, b} )おそらく最も簡単な方法です。 私がよく使う方法の 1 つは、 [](0,1) |/ a |/ b
</CODE></P><P>2 番目の質問に関しては、JSL では行列が特殊であり、期待どおりに評価されません。 通常、JSL スクリプト内の任意の場所に JSL 式を置くことができ、最後の引数のみが返されます。 ただし、行列の場合は (おそらくコードの最適化と高速化のため)、行列要素に式を入れて、その式によって返された数値が入力されることを期待することはできません。 行列では式は厳密に_禁止_されており、数値のみが許可されます。 変数は式として評価される場合にのみ意味をなすため、変数が行列内で機能しないのもこれが理由です。</P></LINGO-BODY><LINGO-SUB id="lingo-sub-594089" slang="en-US" mode="NONE">Re: 変数からの行列</LINGO-SUB><LINGO-BODY id="lingo-body-594089" slang="en-US" mode="NONE"><P>ああ、Matrix がリストを評価するのですか?わかった!</P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1674830940841.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_0-1674830940841.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_0-1674830940841.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/49532i15A375331B9C81B2/hogi_0-1674830940841.png" role="button" title="hogi_0-1674830940841.png" alt="hogi_0-1674830940841.png" /></span></SPAN></SPAN></P><P><BR />それから</P><PRE><CODE class=" language-jsl">m= Matrix({a,b});
同様に機能します:)
そしてその理由は何ですか
m=[Eval(a),Eval(b)]
機能しないのですか?
Re: 変数からの行列私にとって、結果を得る最も簡単な方法は、
m=matrix(a) |/ matrix(b);