Mathematica: lista di sostituzioni
Ho una lista del tipo:
{x->a,y->b,z->c}
Vorrei ottenere una lista del tipo:
{a,b,c}
Come posso fare?
{x->a,y->b,z->c}
Vorrei ottenere una lista del tipo:
{a,b,c}
Come posso fare?
Risposte
Se cerchi nella guida esiste la funzione JacobianMatrix, ma onestamente la trovo molto scomoda e limitata.
Puoi fare rapidamente una cosa del genere invece:
La prima riga crea una funzione vettoriale di prova test (serve solo come esempio).
La seconda è la funzione che ritorna la matrice Jacobiana, prende come input una funzione e le variabili rispetto a cui derivare.
La terza riga applica J alla funzione f, che dipende da {x, y, z}, e la mostra come matrice.
Puoi fare rapidamente una cosa del genere invece:
test = Table[x^n + y^n + z^n, {n, 1, 3}] J[f_, var_] := Table[D[f[[i]], j], {i, 1, Length[f]}, {j, var}] J[test, {x, y, z}] // MatrixForm
La prima riga crea una funzione vettoriale di prova test (serve solo come esempio).
La seconda è la funzione che ritorna la matrice Jacobiana, prende come input una funzione e le variabili rispetto a cui derivare.
La terza riga applica J alla funzione f, che dipende da {x, y, z}, e la mostra come matrice.
Grazie ancora!
Approfitto del thread per chiedere anche se esiste una funzione che calcola la matrice Jacobiana.
Approfitto del thread per chiedere anche se esiste una funzione che calcola la matrice Jacobiana.
Grazie mille!
Un altra cosa che mi interesserebbe...
Come posso disegnare il luogo dei punti ${x,y}$ tali che $(xy)^2<1$?
Ho fatto solo un esempio, in generale mi serve poter disegnare il luogo dei punti che soddisfano una disequazione.
Un altra cosa che mi interesserebbe...
Come posso disegnare il luogo dei punti ${x,y}$ tali che $(xy)^2<1$?
Ho fatto solo un esempio, in generale mi serve poter disegnare il luogo dei punti che soddisfano una disequazione.
Basta fare:
In questo modo applichi la lista di sostituzione al vettore {x, y, z}, ottenendo quindi {a, b, c}.
{x, y, z} /. {x -> a, y -> b, z -> c}
In questo modo applichi la lista di sostituzione al vettore {x, y, z}, ottenendo quindi {a, b, c}.