Laboratorio 2 Calcolo simbolico, successioni, limiti e derivate

Anno Accademico 2007-2008
Corso di Analisi 1
per Ingegneria Informatica
Laboratorio 2
Calcolo simbolico, successioni, limiti e derivate
1
Introduzione al Toolbox simbolico
Con le routines del Symbolic Math Toolboxes è possibile utilizzare Matlab con una sintassi
molto simile alla simbologia dell’analisi.
É possibile definire variabili simboliche con il comando sym:
>>x=sym(’x’)
o anche specificando il tipo di variabile:
>>x=sym(’x’,’real’)
Si possono usare, con lo stesso effetto, i comandi
>>syms x
>>syms x real
Ora possiamo definire funzioni con queste variabili simboliche:
>>f=xˆ2-2*x+1
Digitando whos osserviamo che abbiamo creato due sym object. Per ottenere una visualizzazione più leggibile delle funzioni inserite si può utilizzare il comando pretty:
>>pretty(f)
x2 -2x+ 1
Il comando subs serve per la sostituzione simbolica, cioè per assegnare un valore ad una
variabile simbolica. Supponiamo di voler valutare la funzione f definita precedentemente per
x = 1: possiamo utilizzare il comando subs in due modi
• >>subs(f,1)
• >>subs(f,’x’,1)
2
Successioni
Consideriamo la seguente successione:
an =
1
1+
n
1
n
Sappiamo che per n sufficientemente grande converge al valore e, numero di Nepero.
Scriviamo una funzione che valuti gli elementi a1 ... aN della successione e li rappresenti in
un grafico ricevuto in ingresso il valore di N ; restituiamo l’ultimo valore (corrispondente a
n = N ) e valutiamo la sua distanza in percentuale dal valore esatto del numero di Nepero.
function [s,err]=successione(N);
syms n; % dichiarazione della variabile simbolica
a=(1+1/n)ˆn; % termine generico della successione
for i=1:N
s=subs(a,i); % valuto il termine i-esimo della successione
plot(i,s,’.’)
end
err=abs(s-exp(1))/exp(1)*100; % valuto l’errore in percentuale
3
Grafici di funzioni, limiti, derivate
Definiamo la variabile simbolica x e la seguente funzione:
f (x) =
con i seguenti comandi:
2x2
x2 − 1
>>x=sym(’x’;)
>>f=2*xˆ2/(xˆ2-1)
Ep̀ossibile disegnare il grafico di questa funzione senza doverla valutare in un numero discreto
di punti, usando il comando ezplot.
>>ezplot(f)
disegna la funzione sull’intervallo standard [−2π, 2π]; altrimenti si può specificare l’intervallo:
>>ezplot(f,[-5,5])
Dopo avere definito la variabile simbolica e una funzione possiamo calcolare i limiti con il
comando limit. Definiamo f (x) = tan(x), e calcoliamo il limite per x → π/2:
>>limit(f,x,pi/2)
Con Matlab possiamo calcolare il limite sinistro e destro:
>>limit(f,x,pi/2,’left’)
ans=
inf
>>limit(f,x,pi/2,’right’)
ans=
-inf
e anche il limite per x → ∞, digitando limit(f,x,inf).
2
Inoltre con il comando diff possiamo calcolare le derivate di funzioni, ad esempio possiamo
calcolare la derivata della tangente, definita nell’esercizio precedente:
>>fx=diff(f,x)
fx=
1+tan(x)ˆ2
Scriviamo una funzione che dati in ingresso una variabile simbolica, una funzione, ed un
preciso valore della variabile indipendente calcoli la retta tangente al grafico della funzione in
quel punto.
function retta tangente(x,f,x0);
fx=diff(f,x); % calcolo della derivata
m=subs(fx,x0); % valuto la pendenza della retta tangente
y0=subs(f,x0); % valuto l’ordinata del punto di tangenza
r=m*(x-x0)+y0; % la retta
if (x0> −2*pi && x0<2*pi)
ezplot(f)
hold on
ezplot(r)
else
ezplot(f,[-2*pi,2*pi]+x0)
hold on
ezplot(r,[-2*pi,2*pi]+x0)
end
Esercizi
1
Introduzione al Toolbox simbolico
Dichiarare le variabili simboliche necessarie e definire le seguenti funzioni:
√
a) f (x) = x2 − 1
b) g(x) =
x−1
x+2
1
c) s(t) = 1 + vt + at2
2
Visualizzare le funzioni con il comando pretty.
Valutarle nei seguenti punti:
a) x = 2
3
b) x = −2
c) t = 2, a = −9.81, v = 1 (Suggerimento: usare la sintassi subs(f,[t a v],[...
...]))
...
Osservare che è possibile valutare le funzioni anche su un vettore di punti ad esempio con il
comando
>>ff=subs(f,[0:0.1:2])
2
Successioni
2.1
Modificare la funzione successione aggiungendo la valutazione della successione
An =
1
1+
n
n+1
Rappresentare an ed An sullo stesso grafico.
2.2
Ripetere i calcoli dell’esercizio precedente utilizzando invece del ciclo for la valutazione con
subs su un vettore di punti.
2.3
Valutare i primi 20 termini della successione
sn =
1
nα
per α = 12 , 1, 2. Riportare le tre successioni sullo stesso grafico in colori diversi.
3
Grafici di funzioni, limiti, derivate
3.1
Definire la funzione
2x − 1
x+2
Disegnarne il grafico, quindi calcolarne il limite destro e sinistro per x → −2 ed il limite per
x → ∞. Utilizzando la funzione retta tangente calcolare e disegnare la retta tangente nel
punto x0 = 0.
f (x) =
4
3.2
Definire il rapporto incrementale
cos(x + h) − cos(x)
h
dopo avere dichiarato le variabile simboliche x e h. Utilizzarlo per calcolare la derivata di
cos(x) attraverso il comando limit.
Verificare il risultato ottenuto utilizzando diff.
3.3
Utilizzare il comando limit per calcolare il limite della successione an per n → ∞. Verificare
che si ottiene il numero di Nepero.
3.4
Differenziare la funzione f (y) = x2 sin(y) rispetto a y.
5