Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Formazione Numerica, 6 CFU => Topic started by: Luciano on 16-09-2009, 20:58:07



Title: Uno script Matlab per la Fattorazzazione LU
Post by: Luciano on 16-09-2009, 20:58:07
ecco qua  .wink
Lo trovo molto utile per verificare la correttezza degli esercizi.

Code:
function [B, L, U]=lugauss(A)
    [n,m] = size(A);
    if n ~= m;
        error('A non è una matrice quadrata');
    else
        B=A;
        for k = 1: n-1
            for i = k+1:n
                B(i,k) = B(i,k)/B(k,k);
                if B(k,k) == 0;
                    error('Un elemento pivot è nullo');
                end
                j = (k+1:n);
                B(i,j) = B(i,j) - B(i,k)* B(k,j);
            end
        end
       
        L = eye(n) + tril(B, - 1);
        U = triu(B);
    end
end

é una versione leggermente modificata (nei valori di ritorno) di uno script proposto in uno dei tanti libri del Prof Quarteroni.

Ecco un esempio su come utilizzarlo:

Dopo aver caricato lo script:

Code:
A = [2 1 3; 6 5 10; 2 9 12];
[B L U] = lugauss(A)


Title: Re:Uno script Matlab per la Fattorazzazione LU
Post by: KekKo on 17-09-2009, 18:08:21
intanto grazie xkè è davvero utile!!  .wink

ma la B dell'output, cos'è?  .penso


Title: Re:Uno script Matlab per la Fattorazzazione LU
Post by: bluegirl on 17-09-2009, 18:15:36
Utile davvero, grazie .smile


Title: Re:Uno script Matlab per la Fattorazzazione LU
Post by: Luciano on 18-09-2009, 10:52:28
intanto grazie xkè è davvero utile!!  .wink

ma la B dell'output, cos'è?  .penso

Dovrebbe trattarsi della matrice su cui vengono eseguiti tutti i calcoli "in loco"