Ricerca delle radici
La radice di una funzione è il valore per cui la funzione risulta uguale a zero.
polyroots(v) - Restituisce un vettore contenente le radici del polinomio o con specificati da v.
Per default polyroots utilizza il metodo di LaGuerre, che è iterativo e ricerca le soluzioni nel piano complesso.
root(f(var1, var2, ...), var1, [a, b]) - Restituisce il valore di var1 per cui la funzione f risulta uguale a zero. Se si specificano a e b, root cerca var1 nell'intervallo [a, b]. In caso contrario, è necessario definire var1 con un valore ipotizzato prima di chiamare root. Quando si utilizza un valore ipotizzato, root utilizza il metodo delle secanti o il metodo di Mueller. Se viene utilizzato il bracketing della radice, root utilizza il metodo di Ridder o di Brent.
Per ulteriori informazioni sulla risoluzione delle radici, guardare il video seguente:
Argomenti
f è una funzione a valore scalare con un numero qualsiasi di variabili.
var1 è la variabile scalare di f rispetto alla quale viene cercata la radice. Definire un valore ipotizzato complesso per trovare una soluzione per una radice complessa.
a, b (facoltativi) sono numeri reali con a < b, tali che f(a) e f(b) hanno segni opposti. La funzione root cerca una radice nell'intervallo a≤x ≤ b.
È necessario specificare gli argomenti di intervallo [a, b] quando si valuta simbolicamente la funzione root.
v è un vettore che contiene i coefficienti di un polinomio, in cui il primo elemento è il termine costante e 2 ≤ length(v) ≤ 99.
Ulteriori informazioni
Se si inserisce la funzione root dalla barra multifunzione, alla funzione viene automaticamente assegnata l'etichetta Parola chiave.
La funzione root consente di risolvere una sola equazione a una incognita. Per risolvere più equazioni contemporaneamente, utilizzare find o minerr.
La funzione root dipende da TOL, ma non risponde a un valore di TOL maggiore di 10-5. Questo è il criterio di convergenza massimo. Inoltre, è improbabile che con valori di TOL minori di 10-12 si ottengano risultati migliori, mentre l'algoritmo potrebbe non convergere.
Per le funzioni con radici multiple, la radice restituita dipende dal valore ipotizzato. Se il valore ipotizzato è molto vicino a un minimo o a un massimo di f, la funzione root potrebbe non convergere o convergere su una radice lontana dal valore ipotizzato. Per la scelta di un valore ipotizzato o di un intervallo di bracketing appropriato, è consigliabile creare prima un grafico della funzione.
Le funzioni con variazione rapida possono provocare la restituzione, da parte del solutore di radici, di piccole parti complesse anche quando si prevede un risultato reale.
Per risolvere un'equazione con forma f(x) = g(x), utilizzare un'espressione quale x0 := root(f(x) − g(x), x).
Per un'espressione f(x) con una radice nota r, la ricerca delle ulteriori radici di f(x) equivale alla ricerca delle radici di h(x) = f(x) / (x − r).. La divisione per le radici note, come in questo caso, semplifica la ricerca di due radici che potrebbero essere vicine tra loro. La ricerca delle radici della funzione h(x) così definita è spesso più semplice della ricerca di altre radici di f(x) con valori ipotizzati diversi.
Se in prossimità della radice f(x) ha una pendenza ridotta, root(f(x), x) può convergere a un valore r relativamente lontano dalla radice effettiva. In tali casi, anche se |f(r)|< TOL, r può essere lontano dal punto in cui f(r) = 0. Per trovare una radice più accurata, ridurre il valore di TOL. In alternativa, provare a trovare root(g(x),x), dove g(x) = [f(x))]/[(d/dx)*f(x)]).
Nei casi illustrati di seguito la funzione root potrebbe non convergere o convergere a una radice imprevista.
Non sono disponibili radici per l'espressione.
Le radici sono troppo lontane dal valore ipotizzato iniziale.
È presente un massimo locale, un minimo locale oppure una discontinuità tra il valore ipotizzato e le radici.
Il valore ipotizzato è molto vicino a un minimo o a un massimo della funzione f.
L'espressione ha una radice complessa ma il valore ipotizzato iniziale è reale, o viceversa.
Sono presenti radici multiple molto vicine tra loro. Per distinguerle, provare a ridurre il valore di TOL.
Le radici si trovano in regioni piatte della funzione. Provare a ridurre il valore di TOL o a trovare la radice della funzione f(x) divisa per la sua derivata prima.
È stato utile?