• Non ci sono risultati.

FIRMA PER CONSEGNARE FIRMA PER RITIRARSI

N/A
N/A
Protected

Academic year: 2021

Condividi "FIRMA PER CONSEGNARE FIRMA PER RITIRARSI"

Copied!
1
0
0

Testo completo

(1)

Calcolo Numerico

APPELLO del 15 GIUGNO 2018

Cognome e nome Matricola

Informatica Postazione

FIRMA PER CONSEGNARE FIRMA PER RITIRARSI

Si raccomanda agli studenti di commentare adeguatamente script e function Matlab.

Sia A una matrice con n righe e n colonne, b ∈ R

n

un vettore colonna e si desideri calcolare la soluzione del sistema lineare Ax = b, mediante il metodo di Gauss-Seidel. Si implementi tale metodo mediante la routine Matlab gauss seidel, che abbia la seguente intestazione:

function [xv,res,flag]=gauss_seidel(A,b,x0,toll,nmax)

% gauss_seidel: Metodo di Gauss-Seidel.

% Uso:

% [xv,res,flag]=gauss_seidel(A,b,x0,toll,nmax)

%

% Dati di ingresso:

% A: matrice n x n.

% b: vettore colonna n x 1

% x0: vettore colonna n x 1

% toll: tolleranza del criterio di arresto

% nmax: numero massimo di colonne di xv (numero di iterazioni meno 1).

%

% Dati di uscita:

% xv: matrice contenente quali colonne i vettori determinati dal metodo (incluso x0).

% res: vettore contenente i valori norm(b-Ax_k) dove x_k e’ la k-sima colonna di xv.

% flag: 1 se il determinante e’ nullo;

% 2 se il numero di colonne di xv e’ strettamente maggiore di nmax;

% 3 se la matrice A e il vettore b non sono compatibili come dimensioni;

% 0 altrimenti.

• La routine controlli che il sistema lineare sia bene definito, ovvero A sia una matrice quadrata di dimensione n e b sia un vettore colonna nx1 altrimenti non esegua alcuna operazione e ponga xv=[], res=[] e flag=3.

• La routine controlli che il determinante di A non sia nullo, altrimenti non esegua alcuna operazione e ponga xv=[], res=[] e flag=1.

• Se il numero di colonne di xv ´e strettamente maggiore di nmax non esegua alcuna operazione e ponga xv=[], res=[]

e flag=2.

• Il test di arresto sia quello del residuo ovvero si concludano le iterazioni se il vettore x

(k)

determinato alla k-sima iterazione del metodo ´ e tale che res

k

:= kb − Ax

(k)

k

2

≤ toll.

Quindi si scriva una function gauss seidel script che:

• Definisca una matrice quadrata A = (a

i,j

) di dimensione 10 che abbia elementi a

k,k

= 2 per k = 1, . . . , 10;

a

k,k−1

= −1 per k = 2, . . . , 10;

a

k−1,k

= −1 per k = 2, . . . , 10;

0 altrimenti.

• Si definisca un vettore b di dimensione compatibile con A ed elementi uguali a 1.

• Risolva il problema Ax = b mediante il metodo di Gauss-Seidel sopra descritto con x0 il vettore nullo delle dimensioni di b, toll=10

−8

e nmax=10000.

• Esegua un grafico in scala semilogaritmica dei residui delle colonne di xv (come ascisse si utilizzi l’indice di colonna)

e si salvi il grafico come figura.jpg.

Riferimenti

Documenti correlati

Calcolo Numerico (Ingegneria Energia/Meccanica, Canale A) Compito di Teoria, Appello 4, 27 gennaio 2020 (COMPITO A).. Cognome e

• Non si pu´ o utilizzare alcun dispositivo elettronico durante il compito (cellulare, computer, tablet, smartphone, auricolari, etc.). • Non si pu´ o parlare durante il compito

Calcolo Numerico (Ingegneria Energia/Meccanica, Canale A) Compito di Teoria, Appello 4, 27 gennaio 2020 (COMPITO C).. Cognome e

• Esegua un grafico in scala semilogaritmica delle coppie (k, step k ) e si salvi il grafico

Calcolo Numerico (Ingegneria Energia/Meccanica, Canale A) Compitino del 10 Maggio 2019, fila I.. Cognome e

Calcolo Numerico (Ingegneria Energia/Meccanica, Canale A) Compitino del 10 Maggio 2019, fila II.. Cognome e

Si calcoli mediante una funzione demoI l’approssimazione del valore della derivata di exp(x) nei punti x 0 = −1, x 1 = 2, in notazione decimale, con una cifra prima della virgola e

• Non si pu´ o utilizzare alcun dispositivo elettronico durante il compito (cellulare, computer, tablet, smartphone, auricolari, etc.). • Non si pu´ o parlare durante il compito