Comments
Description
Transcript
Esercizi di riepilogo
Esercizi di riepilogo Gabriella Puppo Esercizio 1 Considerare l’equazione differenziale: y’ = -50 y con condizione iniziale y(0) = 1. Integrare l’equazione con le functions ode45 e ode15s fino all’istante t=5. 1) Calcolare il numero di passi di integrazione usati in entrambi i casi. 2) Calcolare il passo di integrazione minimo ed il passo massimo usati dalle functions per risolvere il problema. 3) Disegnare, per ognuna delle due functions, un grafico contenente il passo di integrazione come funzione del tempo. Esercizio 2 Integrare l’equazione differenziale: y’ = (t - t^2)*y, con condizione iniziale y(0) = 2. Determinare la soluzione all’istante tf=2.5, con 5 cifre decimali significative . Esercizio 3 Integrare l’equazione differenziale: y’ = (t - t^2)*y, con condizione iniziale y(0) = 2. Determinare la soluzione fino all’istante tf=2.5. Impostare la tolleranza assoluta, AbsTol = eps. Porre la tolleranza relativa, RelTol = 10^(-k), variando k da 1 a 10 (solo valori interi). Calcolare il numero dei passi usato dalle functions ode45 e ode15s per ogni valore di k considerato e fare un grafico con i risultati. Esercizio 4 Usare la funzione vettoriale definita nel file stiff_sis.m per definire un sistema differenziale. Considerare la condizione iniziale y(0) = [1,0,0], ed integrare il sistema da t0 = 0, fino a tf=3. Usare le functions ode45, ode113 e ode15s. Fare in tutti e tre i casi un grafico della soluzione e calcolare il numero di passi di integrazione usati. Quale function fra quelle studiate è più indicata per risolvere questo sistema? Esercizio 5 Costruire la matrice A 10 X 5 che soddisfa le seguenti equazioni: A(i,j) = -1 nel triangolo superiore; A(i,j) = 1 altrimenti. Costruire il vettore b con 10 elementi, tale che: b(i) = sin( i*pi/10). Risolvere il sistema lineare A*x = b a) usando il metodo QR; b) usando il metodo delle equazioni normali. Verificare che si ottiene la stessa soluzione. Esercizio 6 1) Dare il comando rand(‘state’,1), per inizializzare il generatore di numeri casuali. 2) Costruire 11 dati (x(i),f(i)), in modo che i valori di x siano uniformemente distribuiti sull’intervallo [-1,1], mentre i valori f(i) sono ottenuti con il generatore di numeri casuali. 3) Costruire una griglia XX di 101 punti uniformemente distribuiti sull’intervallo [-1,1]. 4) Interpolare i dati (x(i),f(i)) con un polinomio di grado 10, inoltre costruire la retta di regressione lineare. 5) Disegnare un grafico dei punti interpolati, della retta di regressione, e del polinomio di interpolazione globale, usando la griglia XX per disegnare il grafico del polinomio. Quale polinomio di interpolazione è più adatto a questi dati? Esercizio 7 1) Dare il comando rand(‘state’,1), per inizializzare il generatore di numeri casuali. 2) Costruire il polinomio P(x) di interpolazione globale, la retta di regressione lineare e la griglia XX usando i dati dell’Esercizio 6. 5) Stimare l’integrale sotto la curva f(x) applicando la regola dei trapezi composta: - ai dati x(i),f(i) - al polinomio P(x), usando i nodi XX - alla retta di regressione Quale formula di quadratura è più adatta a questi dati? Esercizio 8 Considerare la matrice: A=[d 1 0 -2 1 7 2 d 3 ], dove d è un parametro nell’intervallo [-5,5]. Disegnare un grafico del determinante di A in funzione di d, in modo da determinare con una precisione di 2 cifre decimali i valori di d per i quali A diventa singolare. Esercizio 9 Considerare le matrici di Hilbert h=hilb(i), per i=1, …, 20. Calcolare l’inversa hinv di h usando la fattorizzazione LU. Disegnare un grafico che contenga: a) la norma di (h*hinv -matrice identità) in funzione di i b) la norma di (hinv*h -matrice identità) in funzione di i Esercizio 10 Considerare le matrici di Hilbert h=hilb(i), per i=1, …, 20. Calcolare l’inversa hinv di h usando la fattorizzazione QR. Disegnare un grafico che contenga: a) la norma di (h*hinv -matrice identità) in funzione di i b) la norma di (hinv*h -matrice identità) in funzione di i Questo è il grafico ottenuto negli esercizi 9 e 10 Notare che h*hinv è più precisa di hinv*h in entrambi i casi Esercizio 11 Considerare la matrice di Vandermonde V costruita su una griglia uniforme di 20 punti sull’intervallo [0,3]. Utilizzare la fattorizzazione QR della matrice V per stimare il rango di V. Per far questo, calcoliamo una tolleranza epsi= 10^(-k), con k=1:16, e, per ogni k, contiamo gli elementi sulla diagonale di R che hanno modulo maggiore di epsi. Otteniamo così il rango di V come funzione della tolleranza epsi. Fare un grafico con i risultati. Per quali valori di epsi la matrice V è non singolare? Esercizio 12 Considerare la matrice di Vandermonde V costruita su una griglia uniforme di 20 punti sull’intervallo [1,4]. Studiare la convergenza del metodo di Jacobi, applicato alla matrice V. Ricordare che gli autovalori si calcolano con la function eig Esercizio 13 Considerare la curva descritta dalle equazioni parametriche: x(t) = log(t+1)*cos(t) y(t) = log(t+1)*sin(t), t in [0, 4*pi] Calcolare i punti di intersezione fra la curva (x(t),y(t)), e la funzione: f(x) = sqrt(x)