Pages: [1]   Go Down
Print
Author Topic: Uno script Matlab per la Fattorazzazione LU  (Read 1007 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Luciano
Guest
« on: 16-09-2009, 20:58:07 »

ecco qua 
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)
Logged
KekKo
Apprendista Forumista
**
Offline Offline

Posts: 159



« Reply #1 on: 17-09-2009, 18:08:21 »

intanto grazie xkè è davvero utile!! 

ma la B dell'output, cos'è? 
Logged

Cu di speranza campa, disperatu mori!
bluegirl
Apprendista Forumista
**
Offline Offline

Posts: 360



« Reply #2 on: 17-09-2009, 18:15:36 »

Utile davvero, grazie
Logged
Luciano
Guest
« Reply #3 on: 18-09-2009, 10:52:28 »

intanto grazie xkè è davvero utile!! 

ma la B dell'output, cos'è? 

Dovrebbe trattarsi della matrice su cui vengono eseguiti tutti i calcoli "in loco"
Logged
Pages: [1]   Go Up
Print
Jump to: