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