Jeton matriciel invalideSalut. Je n'ai rien trouvé à ce sujet à part < https://community.jmp.com/t5/Discussions/invalid-matrix-token/td-p/2111> (un article terriblement formaté) et rien dans l'index des scripts. Qu'est-ce qu'une erreur « jeton de matrice invalide » ? Qu'est-ce que ça veut dire?
Quand j'essaie d'instancier une matrice dans mon script comme
m = [i j];
où et sont des variables numériques, il renvoie l'erreur et pointe sur i.
Je pense que c'est tout le contexte que je peux donner. Faites-moi savoir si des éclaircissements spécifiques sont nécessaires, je peux essayer de vous aider à m'aider.
Acclamations,
Mike
Automatisation et scriptsRe : Jeton matriciel invalideSalut,
@jthi a fourni une réponse avec une syntaxe difficile à trouver.J'ajoute un peu à titre d'information. En tant que personne âgée, j'aime toujours le concept d'allocation d'espace pour le stockage matriciel et de libération des espaces inutilisés. Cela évite d'avoir à concaténer et peut représenter un gain de temps, en particulier pour les matrices potentiellement volumineuses.
De plus, je pense qu'une méthode simple pour créer des matrices consiste à utiliser la fonction J de JMP, elle est répertoriée dans Scripting Index > Functions > Matrix.
Vous trouverez ci-dessous un script simple démontrant son utilisation.POUR VOTRE INFORMATION.
Names Default To Here( 1 );
m1x2 = J( 1, 2, 0 ); // a 1x2 matrix of zeros
m2x1 = J( 2, 1, Empty() ); // a 2x1 matrix all empty values
Show( m1x2, m2x1 );
imax = 100;
jmax = 1000;
//like an ALLOCATE or DIM
mm = J( imax, jmax, Empty() );
//within the program logic and counting say imax = 5 and jmax =3;
imax = 5;
jmax = 3;
//like a redimension
mm = mm[1 :: imax, 1 :: jmax];
Show( mm, N Col( mm ), N Row( mm ) );
Re : Jeton matriciel invalidePour la concaténation matricielle, l'aide JMP aura probablement les réponses Aide JMP - Concaténation de matrice
N'oubliez pas également de définir la valeur sur l'ancienne matrice si vous souhaitez modifier la valeur
Names Default To Here(1);
i = 1;
k = 1;
m1 = Matrix({{i, k}}); //(1x2)
Write(m1);
Write("\!N");
m1 |/= [2 2]; //or m1 = m1 |/ [2 2]; or m1 = VConcat(m1, [2 2]);
Write(m1);Re : Jeton matriciel invalideD'accord, je suis désolé pour le message inutile, je n'ai pas vu votre réponse ici. Merci grandement !Re : Jeton matriciel invalideJ'ai du mal à concaténer en utilisant Concat() ou |/ mon tableau de départ et des éléments supplémentaires. Lorsque j'écris() la sortie, elle est équivalente au tableau de départ, rien n'a été concaténé (le résultat est [0 0]).Re : Jeton matriciel invalideJouez avec cet exemple :
Names Default To Here(1);
i = 1;
k = 1;
m1 = Matrix({{i, k}}); //(1x2)
m2 = Matrix({{i}, {k}}); //(2x1)
Show(m1, m2);et vérifiez les constructions de matrices à partir de listes à partir du lien que j'ai fourni plus tôt.
Re : Jeton matriciel invalideMerci, @jthi . Ça marche!
Pouvez-vous commenter brièvement la dimensionnalité ? Je pense avoir compris, {{}{}} est un 2x0, mais je ne sais pas comment créer un 0x2.
Mike
Re : Jeton matriciel invalideJe ne peux pas expliquer exactement le message d'erreur. Très probablement lié à cela Construire des matrices et à la fin:
Construire des matrices à partir d'expressions
Pour construire des matrices à partir d'expressions, utilisez Matrice() . Les éléments doivent être des expressions qui se résolvent en nombres.
Names Default To Here(1);
i = 1;
k = 1;
m = Matrix({{i, k}}); //[1 1]