Operatori > Operatori di calcolo > Esempio: operatore di gradiente
Esempio: operatore di gradiente
Definire una funzione f:
Fare clic per copiare questa espressione
Utilizzare l'operatore di gradiente per ricevere un vettore di derivate parziali per la funzione f:
Fare clic per copiare questa espressione
Definire una funzione vettoriale e calcolare il gradiente della funzione f per il vettore x.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
In questo esempio, ORIGIN, che imposta l'indice d'inizio per tutti gli array, è impostato su 0.
La variabile con l'indice maggiore in f è x2. Mathcad presuppone che siano presenti tre variabili: x0, x1 e x2. Il risultato è un vettore di gradiente di tre valori contenenti le derivate parziali di queste variabili. Se la variabile x0 o x1 non viene visualizzata nella funzione f, Mathcad restituisce comunque un vettore di tre valori, ma le voci corrispondenti alle variabili mancanti sono impostate su 0.
Per l'indice maggiore visualizzato nella funzione f, n, Mathcad presuppone le variabili n + 1, x0,  x1, … xn e restituisce un vettore di lunghezza n + 1.
Se si definisce la variabile x numericamente, è possibile valutare il gradiente con il segno Uguale =. Mathcad valuta il gradiente in corrispondenza dei valori in x e restituisce un vettore di numeri, che rappresenta il gradiente in corrispondenza del punto x. La lunghezza di x deve essere maggiore dell'indice maggiore visualizzato in f e Mathcad restituisce un gradiente con voci di lunghezza (x).
Nell'esempio riportato di seguito, x0 e x1 sono le uniche variabili che appaiono nell'espressione, Mathcad considera le derivate parziali rispetto a x0 e x1, quindi restituisce un vettore di due valori.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Tuttavia, se si definisce x come vettore di tre elementi, Mathcad presuppone la presenza di una variabile aggiuntiva, x2, che non viene visualizzata nell'espressione. Il risultato è un vettore di tre elementi.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Utilizzo dell'operatore di gradiente con funzione genfit
L'operatore di gradiente è particolarmente utile per impostare gli argomenti della funzione genfit, che adatta una funzione generale non lineare a un insieme di dati.
Per l'esempio seguente, cancellare il valore di x:
Fare clic per copiare questa espressione
Utilizzare i dati nella tabella riportata di seguito.
Fare clic per copiare questa espressione
La prima colonna contiene i valori x dei dati, la seconda colonna i valori y.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Modellare i dati in base a una funzione della seguente forma:
Fare clic per copiare questa espressione
In questo caso, a1 a2 e a3 sono parametri sconosciuti contenuti nel vettore a
È possibile modellare i dati chiamando la funzione genfit come segue:
Fare clic per copiare questa espressione
In questa espressione
X e Y sono vettori contenenti i valori x e y dei dati.
guess è un vettore di valori ipotizzati iniziali per i parametri.
F è un vettore il cui primo elemento è la funzione di modello f(x, a) e le cui voci rimanenti sono le derivate parziali di f rispetto ai parametri sconosciuti.
Creare il vettore F utilizzando l'operatore di gradiente e la funzione stack.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
La funzione stack posiziona la funzione di modello f sopra il vettore di derivate parziali create dall'operatore di gradiente.
Successivamente, creare un vettore ipotizzato per i parametri.
Fare clic per copiare questa espressione
Applicare genfit come indicato di seguito.
Fare clic per copiare questa espressione
I parametri con best fit sono:
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
È stato utile?