Algorithmus Cholesky Zerlegung

Neue Frage »

Fletcher Auf diesen Beitrag antworten »
Algorithmus Cholesky Zerlegung
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
function L=MyCholesky(A)
[m,n]=size(A);
L=zeros(n);
if m ~= n
    display('Matrix nicht quadratisch');
end
L=A;
for i=1:n
    for j=1:n
        if j < i
            for k = 1:j-1
                L(i,j)=(A(i,j)-L(i,k)*L(j,k))/A(j,j);
            end
        elseif i==j
            for k=1:i-1
                L(i,i)=sqrt(A(i,i)-L(i,k)*L(i,k));
            end
        else
            L(i,j)=0;
        end
            
    end
end


Kann mir jemand sagen, wo ich einen Fehler mache? Es kommt leider nicht das gewünschte Ergebnis heraus.

Vielen Dank
Zveky Auf diesen Beitrag antworten »

For i = 1 To n
For j = 1 To i-1
Summe = a(i, j)
For k = 1 To j-1
Summe = Summe - a(i, k) * a(j, k)
Next k
a(i, j) = Summe / a(j, j)
Next j
Summe = a(i, i)
For k = 1 To i-1
Summe = Summe - a(i, k) * a(i, k)
Next k
If Summe <= 0 Then EXIT // A ist nicht positiv definit
else a(i, i) = Sqrt(Summe) // Summe ist positiv
End If
Next i



versuchs damit
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »