Token matrice non validoCIAO. Non ho trovato nulla a riguardo oltre a < https://community.jmp.com/t5/Discussions/invalid-matrix-token/td-p/2111> (un post terribilmente formattato) e niente nell'indice degli script. Che cos'è un errore "token matrice non valido"? Cosa significa?
Quando provo a creare un'istanza di una matrice nel mio script come
m = [i j];
dove e sono variabili numeriche, genera l'errore e punta a i.
Penso che questo sia tutto il contesto che posso fornire. Fammi sapere se è necessario qualche chiarimento specifico, posso provare ad aiutarti ad aiutarmi.
Saluti,
Mike
Automazione e scriptingRi: Token matrice non validoCiao,
@jthi ha fornito una risposta con una sintassi difficile da trovare.Sto aggiungendo un po' per tua informazione. Essendo un anziano, mi piace ancora il concetto di allocare spazio per lo stoccaggio della matrice e rilasciarlo inutilizzato. Elimina la necessità di concatenare e potrebbe consentire un risparmio di tempo soprattutto per matrici potenzialmente di grandi dimensioni.
Inoltre, penso che un metodo semplice per creare matrici sia utilizzare la funzione J di JMP, è elencata in Indice di scripting > Funzioni > Matrice.
Di seguito è riportato un semplice script che ne dimostra l'utilizzo.PER TUA INFORMAZIONE.
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 ) );
Ri: Token matrice non validoPer la concatenazione di matrici, molto probabilmente la Guida di JMP fornirà le risposte Guida di JMP - Concatenazione di matrici
Ricorda inoltre di impostare il valore sulla vecchia matrice se desideri modificare il valore
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);Ri: Token matrice non validoOk, lo farò, scusa per il post inutile laggiù, non ho visto la tua risposta qui. Grazie mille!Ri: Token matrice non validoHo problemi a concatenare utilizzando Concat() o |/ il mio array iniziale e gli elementi aggiuntivi. Quando scrivo() l'output, è equivalente all'array iniziale, nulla è stato concatenato (il risultato è [0 0]).Ri: Token matrice non validoGioca con questo esempio:
Names Default To Here(1);
i = 1;
k = 1;
m1 = Matrix({{i, k}}); //(1x2)
m2 = Matrix({{i}, {k}}); //(2x1)
Show(m1, m2);e controlla Costruisci matrici da elenchi dal collegamento che ho fornito in precedenza.
Ri: Token matrice non validoGrazie, @jthi . Che funzioni!
Puoi commentare brevemente la dimensionalità? Penso di averlo capito, {{}{}} è un 2x0, ma non so come creare un 0x2.
Mike
Ri: Token matrice non validoImpossibile spiegare esattamente il messaggio di errore. Molto probabilmente legato a questo Costruire matrici e alla fine:
Costruire matrici da espressioni
Per costruire matrici da espressioni, utilizzare Matrice() . Gli elementi devono essere espressioni che si risolvono in numeri.
Names Default To Here(1);
i = 1;
k = 1;
m = Matrix({{i, k}}); //[1 1]