• Non ci sono risultati.

Centro stampa Copysprinter Stampa Autorizzata dall autore 1 di 82 N 2790 DI PETRUZZI GIUSEPPINA

N/A
N/A
Protected

Academic year: 2022

Condividi "Centro stampa Copysprinter Stampa Autorizzata dall autore 1 di 82 N 2790 DI PETRUZZI GIUSEPPINA"

Copied!
9
0
0

Testo completo

(1)

N° 2790

CALCOLO NUMERICO 2018-19

DI PETRUZZI GIUSEPPINA

Centro Stampa

ATTENZIONE QUESTI APPUNTI SONO OPERA DI STUDENTI , NON SONO STATI VISIONATI DAL DOCENTE. IL NOME DEL PROFESSORE, SERVE SOLO PER IDENTIFICARE IL CORSO.

(2)

COMANDI MATLAB

I seguenti comandi Matlab consentono di ottenere i coefficienti della rappresentazione monomiale e di valutare il polinomio interpolante in qualsiasi punto o vettore di punti assegnato.

c = polyfit(x,y,n) calcola e memorizza in c, i coefficienti della rappresentazione monomiale del polinomio di grado n pn(x) = c(1)xn + c(2)xn−1 + . . . + c(n)x + c(n + 1), interpolante i dati (xi , yi ), i = 1, . . . , n + 1, le cui ascisse xi e ordinate yi sono memorizzate nei vettori x e y, rispettivamente.

p = polyval(c,z) calcola e memorizza nel vettore p, i valori che un qualsiasi polinomio pn(x) = c(1)xn + c(2)xn−1 + . . . + c(n)x + c(n + 1), i cui coefficienti sono memorizzati in c, assume nelle componenti del vettore z.

Per calcolare e valutare la spline S1(x) si può utilizzare il seguente comando Matlab.

s = interp1(x,y,z) calcola e memorizza in s i valori che la spline lineare interpolante i dati (xi , yi ), i = 1, . . . , n + 1, assume in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.

(3)

Per calcolare e valutare le spline “not-a-knot” o le spline vincolate si possono utilizzare i seguenti comandi.

s = spline(x,y,z) calcola e memorizza in s i valori

che la spline cubica interpolante i dati (xi , yi ), i = 1, . . . , n + 1 e soddisfacente la condizione 2)

“not-a-knot”, assume in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.

s = spline(x,[yd1 y ydn],z) calcola e memorizza in s i valori che la spline cubica interpolante i dati (xi ,yi), i = 1, . . . , n + 1 e soddisfacente la

condizione 3) (yd1= f 0(x1), ydn= f 0(xn+1)), assume

in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.

L’espressione che definisce il suddetto valore approssimato dell’integrale è detta formula dei trapezi, per via della sua interpretazione

geometrica, ed è implementata nel seguente comando Matlab.

t = trapz(x,y) memorizza in t il valore

approssimato dell’integrale mediante la formula dei trapezi, ottenuto cioè calcolando

(analiticamente) l’integrale della spline lineare e interpolante i dati (xi,yi), i = 1, . . . , n; i valori xi e

(4)

yi sono memorizzati nei vettori x e y, rispettivamente.

r = roots(c), che fornisce in r le radici

dell’equazione algebrica i cui coefficienti sono tutti memorizzati in c, a partire dal termine di grado massimo fino a quello di grado zero.

norm(x,1) fornisce la norma 1 del vettore x;

norm(x,2) oppure norm(x) fornisce la norma 2 del vettore x;

norm(x,inf) fornisce la norma infinito del vettore x.

norm(A,1) fornisce la norma 1 della matrice A;

norm(A,inf) fornisce la norma infinito della matrice A.

cond(A,1) fornisce il numero di condizionamento in norma 1 del sistema Ax = b;

cond(A,inf) fornisce il numero di

condizionamento in norma infinito del sistema Ax

= b;

hilb(n) genera la matrice di Hilbert Hn di ordine n;

vander(x) genera la matrice di Vandermonde Vn

(5)

x = A\b calcola la soluzione x di Ax = b con il

metodo delle eliminazioni di Gauss con pivoting parziale. Il comando richiama un algoritmo

specifico a seconda delle caratteristiche della matrice A (diagonale, triangolare, simmetrica e definita positiva,... ); se la matrice non soddisfa nessuna delle caratteristiche previste, allora

viene calcolata una generica fattorizzazione PA = LU.

x = A\b, nel caso di un sistema lineare sovradeterminato Ax = b, con A matrice

rettangolare di dimensioni m x n con m > n e di rango massimo, fornisce la soluzione x nel senso dei minimi quadrati del sistema Ax = b.

[L,U,P] = lu(A) calcola i fattori L, U, e P della fattorizzazione PA = LU di A.

R = chol(A) calcola il fattore R triangolare

superiore della fattorizzazione di Choleski A = RTR, della matrice simmetrica e definita positiva A.

L.

(6)

I seguenti comandi Matlab consentono di calcolare una fattorizzazione QR di una assegnata matrice A.

[Q,R] = qr(A), data la matrice A di dimensioni m x n, calcola un fattore ortogonale Q di dimensioni m x m e un fattore R di dimensioni m x n tali che A = QR.

I seguenti comandi Matlab consentono di calcolare gli autovalori e gli autovettori ad essi associati di una matrice A.

d = eig(A) restituisce il vettore d contenente tutti gli autovalori di A.

[X,D] = eig(A) restituisce la matrice diagonale D i cui elementi sono gli autovalori di A e la matrice X i cui vettori colonna sono i corrispondenti

autovettori (cioè l'i-esimo vettore colonna X(:,i) è un autovettore associato all'autovalore D(i,i)).

max(abs(eig(A))) per calcolare il raggio spettrale di una matrice A.

norm(A,2) oppure norm(A) restituisce la norma spettrale della matrice A.

(7)

Il seguente comando Matlab consente di calcolare il numero di condizionamento di ciascun autovalore.

c = condeig(A) restituisce il vettore c contenente i numeri di condizionamento di ciascun autovalore della matrice A. Se c(i), i = 1, … , n, è circa 1, allora il calcolo di λi è ben condizionato, altrimenti può essere mal condizionato.

Assegnata una matrice A, i seguenti comandi Matlab ci consentono di calcolare solo alcuni suoi

autovalori, per esempio quelli più grandi in modulo oppure quelli più vicini a un dato valore p.

[X,D] = eigs(A,k) restituisce in D e in X

rispettivamente, i k autovalori di A di modulo più grande e i corrispondenti autovettori.

[X,D] = eigs(A,k,p) restituisce in D e in X

rispettivamente, i k autovalori di A più vicini a p e i corrispondenti autovettori.

I seguenti comandi Matlab consentono di calcolare i valori singolari e i fattori U, S e V della

decomposizione ai valori singolari della matrice A.

d = svd(A) restituisce il vettore d contenente, in ordine decrescente, i valori singolari di A.

[U,S,V] = svd(A) restituisce la matrice diagonale S, delle stesse dimensioni di A e con elementi

(8)

diagonali (non negativi e in ordine decrescente) coincidenti con i valori singolari, e due matrici ortogonali U e V tali che A = USVT .

r = rank(A) restituisce in r il rango della matrice A sulla base di una tolleranza di default, che

dipende dalla matrice fornita in input e dalla precisione di macchina.

r = rank(A,tol) restituisce in r il rango numerico della matrice A, calcolato come il numero dei valori singolari maggiori della tolleranza tol.

X = pinv(A) restituisce in X la pseudo-inversa della matrice A a partire dalla sua SVD. I valori singolari al di sotto di una tolleranza di default

(dipendente da A) sono trattati come zeri.

X = pinv(A,tol) restituisce in X la pseudo-inversa di A ottenuta ponendo uguali a zero i valori

singolari al di sotto della tolleranza tol.

(9)

FUNZIONI MATLAB

Riferimenti

Documenti correlati

I Il comando polyint calcola la primitiva di un polinomio che in zero vale zero.

[r]

[r]

Le strutture fondamentali sono la membrana citoplasmatica, importante per il batterio in quanto trasporta i nutrienti ed i cataboliti, il citoplasma, la parete,

I contenuti di queste slide non sono esaustivi ai fini del buon esito dell’esameG. Fare riferimento anche alle lezioni tenute in aula ed ai

Il SI dovrà lavorare sui dati di ciascun singolo impiegato in quanto il SI lavora sempre su dati concreti ma le regole che applica a questi dati concreti sono uguali per tutti

Temperatura Quando due sistemi sono in equilibrio tra di loro, la proprietà che permette ai due di essere in equilibrio tra di loro è la temperatura.. Per esempio Celsius ha

MATERIALI: carta chimica di diversi colori FINITURE: con copertina neutra e cartoncino sottoblocco (anche a ribaltina).. Calendari da muro di diversi formati, da tavolo, olandesi