1 4 a lezione - laboratorio a.a 2004-2005 Corso di Laurea Ingegneria MECCANICA.

Slides:



Advertisements
Presentazioni simili
Dipartimento di Matematica
Advertisements

Le distribuzioni di probabilità continue
Equazioni non lineari Gabriella Puppo.
Laboratorio Processi Stocastici
Dipartimento di Matematica
Metodi numerici in Matlab
/ fax
MATLAB Cristina Campi
MATLAB.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
8 a lezione - laboratorio a.a Esercizi Preparziale Corso di Laurea ING. MECCANICA.
1 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
5 a lezione - laboratorio a.a Corso di Laurea ING. MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB.
Interpolazione polinomiale a tratti
Metodi iterativi G. Puppo.
Algebra lineare G. Puppo.
Esercizi di riepilogo Gabriella Puppo.
Soluzione FEM di problemi parabolici
Metodi FEM per problemi ellittici
Metodi iterativi semplici G. Puppo. Riassunto Problema del fill-in Memorizzazione di matrici sparse Metodo di Jacobi.
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi FEM in 2D G. Puppo.
FEM -3 G. Puppo.
Seminario su clustering dei dati – Parte II
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
I numeri by iprof.
I numeri relativi by iprof.
1 5 a -6 a lezione di laboratorio Laurea Specialistica in Ingegneria MATEMATICA Laurea Specialistica in Ingegneria MATEMATICA a.a
3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a
1a-2a lezione di laboratorio
11 a bis lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Ingegneria dei Sistemi Energetici Laurea Specialistica in Ingegneria Matematica.
10a lezione di laboratorio
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Il calcolo di radiosity
INTRODUZIONE A MATLAB.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
“Piano” Lab 1 – Fattorizzazione LU + pivoting
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
XLS ESERCIZIO BASE EXCEL – ESERCIZIO BASE
Bando Pittori e Scultori in Piemonte alla metà del ‘700
Lezione 4: Analisi nel Piano delle Fasi in Matlab
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
R. Soncini Sessa, MODSS, S27 Stima degli effetti (Wald) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini Sessa.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Transcript della presentazione:

1 4 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA

2 Esercizio 1 (Esame 02/12/2002) Si considerino i sistemi lineari A i x i =b i, i=1,2,3 con i vettori dei termini noti b i, i=1,2,3 scelti in modo che la soluzione dei sistemi sia i =[1,1,1,1] T, i=1,2,3. Supponiamo che:

3 Si determini con MATLAB, il condizionamento K 2 (A i ), i=1, 2, 3 e si verifichi che K 2 (A i ) = (K 2 ( A 1 ) ) i, i=2, 3. Si spieghi il motivo di tale relazione e se ne prevedano le conseguenze. Quesito 1

4 Si costruisca un file MATLAB: Cognome_Nome.m, che una volta avviato: a) faccia visualizzare una schermata con i dati personali (Cognome, nome, matricola, corso di laurea) ed una breve presentazione del problema; Quesito 2

5 b) mediante un ciclo for, determini i dati A i, b i, i=1, 2, 3; risolva quindi i sistemi applicando il metodo di Gauss con pivoting parziale; calcoli lerrore relativo in norma 2; Quesito 2b

6 c) faccia visualizzare una tabella riassuntiva che riporti: intestazione: indice iter soluzione errore; e su ogni riga il valore dellindice i della matrice, il numero di iterazioni iter effettuate nel raffinamento, la soluzione corrispondente scritta come vettore riga e lerrore relativo err ; Si utilizzino i seguenti formati di stampa: 1 cifra intera per il valore di i ; 2 cifre intere per il valore di iter ; 10 cifre decimali e formato virgola fissa per le componenti di ; 2 cifre decimali e formato esponenziale per err. Quesito 2c

7 Soluzione teorica del Quesito 1 Proprietà della matrice e conseguenze.

8 Soluzione teorica del Quesito 1 Proprietà delle matrici Analogamente per i = 3. K2(A1)K2(A1) per la simmetria di quindi:

9 Istruzioni relative al Quesito 1 clear all disp('Numero di condizionamento delle matrici Ai') A1=[ ; ; ; ]; cond_Ai=[];cond_A=[]; for i =1:3 Ai=A1^i; cond_Ai=[cond_Ai,cond(Ai)]; % vettore dei cond(Ai) cond_A=[cond_A,cond(A1)^i]; % vettore dei % cond(A1^i) end disp('cond(Ai)') disp(num2str(cond_Ai,'%13.3e')) disp((cond(A1))^i') disp(num2str(cond_A,'%13.3e')) Nome file script: punto1

10 Output punto1 >> punto1 Numero di condizionamento delle matrici Ai cond(Ai) 6.499e e e+011 (cond(A1))^i 6.499e e e+011 >> Conseguenze del numero di condizionamento grande?

11 Calcolo della soluzione di >> x1=A2\b2 % Operatore \ x1 = >> err1=norm(x1-alfa)/norm(alfa) err1 = 1.53e-009=.153e-008 >> nc=log10(K2) nc = Numero di cifre significative perse 9 cifre signific., 8 decimali corretti

12 Come incide il valore di K 2 (A 2 )? >> A2m=A2; >> A2m(2,2)=A2(2,2)+1e-3; % perturbazione data % sulla matrice >>pert=norm(A2-A2m)/norm(A2) pert = e-006 % entità della perturbazione >> x1m=A2m\b2 % soluzione perturbata x1m = >> err1m=norm(x1m-alfa)/norm(alfa) err1m = >100% !!!

13 Istruzioni relative al Quesito 2a clear all disp('Cognome e nome studente: XXXX XXX') disp('Numero di matricola: XXXX') disp(Corso di Laurea: XXXX) disp(' ') disp('Questo programma calcola e visualizza la soluzione dei ') disp('sistemi lineari A_i x_i=b_i, i =1,2,3, con i vettori b_i tali che sia') disp('alfa=[1,1,1,1]'',essendo: ') A1=[ ; ; ; ]; disp('A1=');disp(A1) disp( 'e A_i= A1^i per i=2,3.')

14 Output file Cognome_Nome.m >> Cognome_Nome.m Cognome e nome studente: XXXX XXX Numero di matricola: XXXX Corso di Laurea:XXXX Questo programma calcola e visualizza la soluzione dei sistemi lineari A_i x_i=b_i, i =1,2,3, con i vettori b_i tali che sia alfa=[ ]', essendo: A1= e A_i= A1^i per i=2,3.

15 Istruzioni relative al Quesito 2b tab=[]; alfa=ones(4,1); % soluzione for i =1:3 A=A1^i; b=A*alfa; % vettore termini noti [L,U,P] = lu(A); %[L,U]=lu(A); y = forwsub(L,P*b); % y = L\(P*b); x = backsub(U,y); % x=U\y; R=eye(size(A)); [x,iter]=raff_iter(A,b,L,U,P,R,x); err=norm(alfa-x)/norm(alfa); tab=[tab;[i,iter,x',err]]; end Istruzioni di gausspv_r.m

16 Risultati File Punto 2b Tabella Punto 2c fprintf('i iter \t\t\t soluzione \t\t \t\t errore \n') fprintf('%1d %2d %14.10f %14.10f %14.10f %14.10f %12.2e \n',tab'); iitersoluzioneerrore e e e- 007

17 Esercizio 2 Sia dato il sistema lineare avente la matrice dei coefficienti ed il vettore dei termini noti così assegnati:

18 Problema I°: quesiti 1, 2 1.Si studino le caratteristiche della matrice A e si stabilisca quale tipo di fattorizzazione è possibile effettuare. 2.Si risolva il sistema usando ogni tipo di fattorizzazione possibile e con loperatore \ applicato alla matrice A ed al vettore b.

19 Caratteristiche di A: conseguenze Caratteristiche di A: a) simmetrica b) tridiagonale; c) diagonalmente dominante; d) definita positiva perché è a), c) e tutti gli elementi in diagonale principale sono >0. Conseguenze: a) È possibile la fattorizzazione A=L*U; b) È possibile la fattorizzazione di Cholesky A=R*R

20 Verifica MATLAB e soluz. sistema I0=[ ];I1=[ ];[n,m]=size(A); A=diag(I0)+diag(I1,-1)+diag(I1,1); % matrice A b=[3 –2 1 –1 3 4]; % termine noto A==A; % controllo simmetria for i=1:size(A,1) minore(i)=det(A(1:i,1:i)); end % minori principali di testa disp(minore) [L U P]=lu(A) % fattorizzazione LU Rt=chol(A) % fattorizzazione di Cholesky y=Rt\b;alpha=Rt\y; %soluzione sistema utilizzando Chol y=L\b;alpha1=U\y; %soluzione sistema utilizzando A=Lu alpha2=A\b % soluzione sistema (\ utilizza A=LU)

21 1.Si studi la convergenza dei metodi di Jacobi, Gauss-Seidel e Rilassamento in serie (SOR) per il sistema assegnato. 2.Si dica quale di questi metodi è il più veloce giustificando teoricamente la risposta e calcolando, mediante Matlab, i raggi spettrali delle rispettive matrici di iterazione ed il valore ottimale del parametro per il metodo SOR. Problema II°: quesiti 1 e 2

22 3. Si costruisca un file MATLAB che: a) calcoli la soluzione numerica del problema assegnato applicando il metodo con convergenza migliore e fissando una precisione non inferiore a 1.e-4 ed un vettore di innesco pari a x0=[ ] T ; Quesito 3a

23 b) faccia visualizzare una tabella riassuntiva che riporti: intestazione: iterazioni soluzione errore; e su ogni riga il numero di iterazione iter, la soluzione corrispondente e la norma del residuo err ; Si utilizzino i seguenti formati di stampa: 2 cifre intere per il valore di iter ; 5 cifre decimali e formato virgola fissa per la soluzione approssimata ; 1 cifra decimale e formato esponenziale per err. Quesito 3b

24 Soluzione quesito 1:Convergenza dei metodi Caratteristiche di A: a)diagonalmente dominante Jacobi conv. b)tridiagonale anche Gauss-Seidel converge, inoltre: c) simmetrica d) definita positiva anche SOR converge per

25 Qual è il metodo più veloce? Il metodo più veloce è SOR se si assume:

26 Istruzioni relative ai quesiti 1, 2 % file Punto2 I0=[ ];I1=[ ];[n,m]=size(A); A=diag(I0)+diag(I1,-1)+diag(I1,1) D=diag(diag(A)); B_J=eye(n)-inv(D)*A; % metodo di Jacobi rho_J=max(abs(eig(B_J))) R_J=-log(rho_J) omega=1; % metodo di Gauss-Seidel OE=-omega*tril(A,-1); B_GS=eye(n)-omega*inv(D-OE)*A; rho_GS=max(abs(eig(B_GS))) R_GS=-log(rho_GS) omega_ott=2/(1+sqrt(1-rho_GS)) % metodo SOR OE=-omega_ott*tril(A,-1); B_r=eye(n)-omega_ott*inv(D-OE)*A; rho_r=max(abs(eig(B_r))) R_r=-log(rho_r)

27 Risultati file Punto2 rho_J = R_J = rho_GS = R_GS = omega_ott = rho_r = R_r = rho_J = R_J = rho_GS = R_GS = omega_ott = rho_r = R_r =

28 Istruzioni relative ai quesiti 3a, 3b b=[ ]'; K=cond(A,inf); precisione=input('precisione = '); % 1.e-4 toll=precisione/K % toll = e-006 x0=ones(n,1);omega=omega_ott; [x,iter,err,rho]=Gauss_Seidel_ril(A,b,x0,omega,nmax,toll); it=[1:iter]'; tab=[it x err]; s=' '; disp(s) fprintf('iter soluzione errore\n') disp(s) fprintf('%2d %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %9.1e\n…,tab');

29 Risultati quesiti 3a, 3b iter soluzione errore e e e e e e e e e e-006 Si invitano gli studenti a determinare la soluzione con precisione = 1.e-8 e riportare le componenti della soluzione approssimata con 10 cifre e virgola fissa.