Matrix aus VariablenWenn ich Variablen definiert habe
a=5;
b=3;
Wie kommt man am schnellsten/elegantesten dorthin?
m = [5,3]
Gibt es etwas Besseres als
m= Matrix(Eval({a,b}));Und warum
m=[Eval(a),Eval(b)]
nicht arbeiten?
Alle Links zu verwandten Beiträgen sind willkommen 
Erweiterte statistische ModellierungVerbraucher- und MarktforschungVersuchsplanungBetreff: Matrix aus VariablenWas denkst du über
a=5;
b=3;
m=matrix(a) |/b //-> works !?!
eine Kombination aus allem Rätsel in einem Ausdruck 
Betreff: Matrix aus VariablenDas ist erstaunlich
[](0,1) |/ a |/ b
funktioniert. Das heißt, es wertet die Argumente automatisch aus und wandelt sie in eine Matrix um?
a= {{5,3}}
b = {{7 ,6}}
[](0,2) |/ a |/ b
Als ich meine Erkenntnisse mit meinen Kollegen teilte, fiel mir Folgendes auf:
Bisher dachte ich, dass [a, b] nur eine Kurzform des Konstruktors ist Matrix({a,b}) .
Aber es ist das Ergebnis , Rechts?
Jetzt ich Wirklich Verstehe, was du meinst::
@ErraticAttack schrieb:
Sie können keine Ausdrücke in die Matrix einfügen Elemente
Dann ergeben die Beispiele in meinem letzten Beitrag keinen Sinn. Sie funktionieren einfach nicht, weil die Funktion „matrix()“ keine Funktion dazu hat Setzen Sie nicht numerische Werte auf „.“ (fehlt) - Vergleichen Sie das Originalthema.
Übrigens:
Ich bin etwas überrascht, das Ergebnis zu sehen Matrix(3) . Eine Art Easter Egg?
Betreff: Matrix aus VariablenOk, verstanden. Vielen Dank für die Erklärung.
@ErraticAttack schrieb:
Sie können keine Ausdrücke in die Matrixelemente einfügen und erwarten, dass diese mit der von diesem Ausdruck zurückgegebenen Zahl gefüllt werden.
Ist eine gute Formulierung 
Es könnte funktionieren, aber Sie können nicht erwarten, dass es funktioniert:
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">Also ..
@ErraticAttack schrieb:
Ausdrücke sind in Matrizen grundsätzlich nicht erlaubt, nur Zahlen sind erlaubt.
Scheint etwas zu streng zu sein - aber "sicherheitshalber" ein guter Ansatz
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-594389" slang="en-US" mode="NONE">Betreff: Matrix aus Variablen</LINGO-SUB><LINGO-BODY id="lingo-body-594389" slang="en-US" mode="NONE"><P>Benutzen<CODE class=" language-jsl"> Matrix( {a, b} ) ist wahrscheinlich der einfachste Weg. Eine Möglichkeit, die ich häufig verwende, ist [](0,1) |/ a |/ b
</CODE></P><P>Was Ihre zweite Frage betrifft: Matrizen sind in JSL etwas Besonderes und werden nicht wie erwartet ausgewertet. Normalerweise können Sie einen JSL-Ausdruck an einer beliebigen Stelle im JSL-Skript einfügen und nur das letzte Argument wird zurückgegeben. Allerdings können Sie bei Matrizen (wahrscheinlich, damit der Code optimierter und schneller wird) keine Ausdrücke in die Matrixelemente einfügen und erwarten, dass diese mit der von diesem Ausdruck zurückgegebenen Zahl gefüllt werden. Ausdrücke sind in Matrizen grundsätzlich nicht erlaubt, nur Zahlen sind erlaubt. Aus diesem Grund funktionieren Variablen auch nicht innerhalb von Matrizen, da Variablen nur dann einen Sinn ergeben, wenn sie als Ausdruck ausgewertet werden.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-594089" slang="en-US" mode="NONE">Betreff: Matrix aus Variablen</LINGO-SUB><LINGO-BODY id="lingo-body-594089" slang="en-US" mode="NONE"><P>Oh, Matrix wertet die Liste aus? habe es!</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 />Dann</P><PRE><CODE class=" language-jsl">m= Matrix({a,b});
funktioniert auch 
Und was ist der Grund dafür?
m=[Eval(a),Eval(b)]
funktioniert nicht?
Betreff: Matrix aus VariablenFür mich ist der einfachste Weg, zum Ergebnis zu gelangen
m=matrix(a) |/ matrix(b);