Matrice de variablesSi j'ai défini des variables
a=5;
b=3;
quel est le moyen le plus rapide et le plus élégant d'obtenir ?
m = [5,3]
Y a-t-il quelque chose de mieux que
m= Matrix(Eval({a,b}));Et pourquoi
m=[Eval(a),Eval(b)]
ça ne marche pas ?
Tous les liens vers des articles connexes sont les bienvenus 
Modélisation statistique avancéeÉtudes de consommation et de marchéConception d'expériencesRe : Matrice à partir de variablesQu'en pensez-vous
a=5;
b=3;
m=matrix(a) |/b //-> works !?!
une combinaison de tout énigmes en une seule expression 
Re : Matrice à partir de variablesC'est incroyable que
[](0,1) |/ a |/ b
travaux. Cela signifie qu'il évalue automatiquement les arguments et les convertit en matrice ?
a= {{5,3}}
b = {{7 ,6}}
[](0,2) |/ a |/ b
En partageant mon apprentissage avec mes collègues, j'ai remarqué :
Jusqu'à présent, je pensais que [a, b] n'était qu'une forme abrégée du constructeur matrice({a,b}) .
Mais c'est le résultat , droite?
Maintenant je vraiment comprends ce que tu veux dire ::
@ErraticAttack a écrit:
vous ne pouvez pas mettre d'expressions dans la matrice éléments
Alors les exemples de mon dernier message n’ont aucun sens. Ils ne fonctionnent tout simplement pas parce que la fonction Matrix() n'a pas de fonction pour définissez les valeurs non numériques sur "." (manquant) - comparez le sujet original.
D'ailleurs:
Je suis un peu surpris de voir le résultat de matrice(3) . Une sorte d’œuf de Pâques ?
Re : Matrice à partir de variablesOK compris. Merci beaucoup pour l'explication.
@ErraticAttack a écrit:
vous ne pouvez pas mettre d'expressions dans les éléments de la matrice et vous attendre à ce qu'elle soit renseignée avec le nombre renvoyé par cette expression.
C'est une bonne formulation 
Cela pourrait fonctionner, mais vous ne pouvez pas vous attendre à ce que cela fonctionne :
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">Donc ..
@ErraticAttack a écrit:
Les expressions ne sont strictement _pas_ autorisées dans les matrices, seuls les nombres sont autorisés.
semble être un peu trop strict - mais une bonne approche "pour être prudent"
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-594389" slang="en-US" mode="NONE">Re : Matrice à partir de variables</LINGO-SUB><LINGO-BODY id="lingo-body-594389" slang="en-US" mode="NONE"><P>En utilisant<CODE class=" language-jsl"> Matrice( {a, b} ) est probablement le moyen le plus simple. Une méthode que j'utilise couramment est [](0,1) |/ une |/ b
</CODE></P><P>Quant à votre deuxième question, les matrices sont spéciales en JSL et ne sont pas évaluées comme on pourrait s'y attendre. Normalement, vous pouvez placer une expression JSL n'importe où dans le script JSL et seul l'argument final sera renvoyé. Cependant, avec les matrices (probablement pour que le code soit plus optimisé et plus rapide), vous ne pouvez pas mettre d'expressions dans les éléments de la matrice et vous attendre à ce qu'elles soient renseignées avec le nombre renvoyé par cette expression. Les expressions ne sont strictement _pas_ autorisées dans les matrices, seuls les nombres sont autorisés. C'est aussi pourquoi les variables ne fonctionnent pas dans les matrices, car les variables n'ont de sens que lorsqu'elles sont évaluées sous forme d'expression.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-594089" slang="en-US" mode="NONE">Re : Matrice à partir de variables</LINGO-SUB><LINGO-BODY id="lingo-body-594089" slang="en-US" mode="NONE"><P>oh, Matrix évalue la liste ? j'ai compris!</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 />Alors</P><PRE><CODE class=" language-jsl">m= Matrix({a,b});
ça marche aussi 
Et quelle est la raison pour laquelle
m=[Eval(a),Eval(b)]
ça ne marche pas ?
Re : Matrice à partir de variablesPour moi, le moyen le plus simple d'arriver au résultat est
m=matrix(a) |/ matrix(b);