Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Laboratorio II
Metodo di Bisezione
Sia data una funzione f (x) continua, con uno zero α nell’intervallo I, dove I = (a, b). L’algoritmo
deve avere in ingresso la funzione f , i due punti a e b, tali che f (a) · f (b) < 0, e l’indice (massimo)
M delle iterazioni che si vogliono effettuare. In uscita l’algoritmo fornirà l’approssimazione xa
dello zero α.
Vediamo come può essere strutturato l’algoritmo che descrive il metodo di bisezione per la ricerca
dello zero di f (x):
Esercizio 2.1
Si consideri il problema della ricerca degli zeri dell’equazione non lineare f (x) = 0, dove f è
definita da:
f (x) := ex − x2 − sin(x) − 1, x ∈ [−2, 2] . (1.3)
3. Scrivere una funzione Matlab bisez.m che implementi il metodo di bisezione. Tale fun-
zione riceve in ingresso gli estremi dell’intervallo di ricerca a e b, la tolleranza richiesta,
il numero massimo di iterazioni e la funzione f . Restituisce in uscita la lista delle itera-
te, il vettore contenente la differenza tra iterate successive, le valutazioni di fun in xvect
e il numero di iterazioni eseguite. Si utilizzi un criterio d’arresto basato sull’ampiezza
dell’intervallo. L’intestazione della funzione sarà ad esempio la seguente:
function [ x v e c t , x d i f , fx , i t ]= b i s e z ( a , b , nmax , t o l l , f u n )
4. Applicare il metodo, quando possibile, con tolleranza pari a 10−12 , utilizzando la funzione
bisez.m.
Metodo di Newton
Esercizio 2.2
1. Discutere le proprietà di convergenza del metodo di Newton per entrambi gli zeri, valutando
l’opportunità di applicare il metodo di Newton modificato.
2. Scrivere una funzione Matlab newton.m che implementi il metodo di Newton. Tale fun-
zione riceve in ingresso il punto di partenza x0 , la tolleranza richiesta, il numero massimo
di iterazioni, la funzione f e la sua derivata, e restituisce in uscita la lista delle iterate
e il numero di iterazioni eseguite. Si utilizzi un criterio d’arresto basato sul modulo del-
la differenza tra due iterate successive. L’intestazione della funzione sarà ad esempio la
seguente:
function [ x v e c t , i t ] = newton ( x0 , nmax , t o l l , fun , dfun )
Si scriva inoltre, in maniera analoga alla funzione newton.m, la funzione newtmod.m che
implementi il metodo di Newton modificato, passando come parametro in ingresso anche
la molteplicità dello zero cercato.
–2–
Laboratorio II Equazioni non Lineari
Esercizio 2.3
Esercizio 2.4
Le intersezioni tra C1 e C2 possono essere calcolate risolvendo il sistema non lineare f (x) = 0 con
2
x1 − 4x22 + 3
x1
f (x) = , x = .
x1 − x22 x2
dove i parametri di ingresso sono analoghi a quelli di newton.m, eccetto J che ora contiene
lo Jacobiano della funzione definita in fun. Per quanto riguarda gli output, si richiedono la
soluzione xvect ed il numero di iterazioni it. Si garantisca in particolare che la funzione
newtonsys.m gestisca correttamente anche la risoluzione di una singola equazione non
lineare.
–3–