Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 09. 12. 2015 19:39

pazdy152
Zelenáč
Příspěvky: 6
Škola: VSB
Pozice: student
Reputace:   
 

LU a QR rozklad Matlab

Zdravím mám vytvořit kód na LU a QR rozklad, ale chybí mi ošetření, když je matice nulová. A nevím, jak to mám napsat a jak určit hodnost té matice. Tak zhruba jak by to mohlo vypadat, jestli by mi někdo nenapsal. Díky

QR_rozklad

Code:

function [Q,R] = QR_rozklad(A)

n=size(A,1);
Q=zeros(n,n); R=zeros(n,n);
for j=1:n
    v=A(:,j); 
    for i=1:j-1
        R(i,j)=Q(:,i)'*A(:,j);
        v=v-R(i,j)*Q(:,i);
    end
    R(j,j)=norm(v);
    Q(:,j)=v/R(j,j);
end

LU_rozklad

Code:

function [L,U] = LU_rozklad(A)

n=size(A,1);

for k=1:n-1
    A(k+1:n,k)=A(k+1:n,k)/A(k,k);
    for j=k+1:n
      A(k+1:n,j)=A(k+1:n,j)- A(k+1:n,k)*A(k,j);
    end
end
L=tril(A,-1)+eye(n);
U=triu(A);

Offline

 

#2 11. 12. 2015 17:15

Eratosthenes
Příspěvky: 2764
Reputace:   136 
 

Re: LU a QR rozklad Matlab

ahoj ↑ pazdy152:,

hodnost matice ti vyplivne funkce rank.


Budoucnost patří aluminiu.

Offline

 

#3 06. 10. 2016 23:42

Danka.Svetla
Zelenáč
Příspěvky: 1
Škola: FAST VUT
Pozice: student
Reputace:   
 

Re: LU a QR rozklad Matlab

pomohl by mi někdo prosím s úkolem? Řešte matici a) Choleského rozkladem, b) LR rozkladem, c) QR rozkladem:
2   1   0   =   3
1   4   1   =   4
0   1   2   =   2
QR rozklad mi dělá největší problém, děkuju moc :)

Offline

 

#4 07. 10. 2016 08:14

pazdy152
Zelenáč
Příspěvky: 6
Škola: VSB
Pozice: student
Reputace:   
 

Re: LU a QR rozklad Matlab

Tady je kód na QR rozklad ;)

Code:

function [Q,R]=QR_rozklad(A)
    % QR rozklad (Gramuv - Schmidtuv proces)
    n=size(A,1); 
    Q=zeros(n,n); R=zeros(n,n);
    for j=1:n 
        v=A(:,j); 
        for i=1:j-1 
            R(i,j)=Q(:,i)'*A(:,j);
            v=v-R(i,j)*Q(:,i);
        end
        R(j,j)=norm(v);
        
        if abs(R(j,j))>1e-5; 
            Q(:,j)=v/R(j,j); 
        else
            Q(j,j)=1;
        end
    end
    end

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson