SVD in Matlab Function < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:40 Mi 05.02.2014 | Autor: | Pikko90 |
Aufgabe | [...]
J_eval;
dist_eval;
[U,W,V]=svd(J_eval);
U
W
V
delta_st=dist_eval' * U' * W(W~=0)=1./W(W~=0) * V;
[...] |
Hallo liebe Mathe Community,
meine Frage bezieht sich auf den oben abgebildeten Programmcode Ausschnitt. Wenn die in Function die SVD Zerlegung durchführe, funktioniert das erst einmal einwandfrei. Auch anschließendes Ausgeben der einzelnen Matrizen funktioniert. Nur sobald ich die berechneten Matrizen in einer weiteren Formel benutzen möchte, erkennt Matlab sie nicht als vorher berechnete Matrizen wieder.
Kann mir jemand sagen woran das liegt, bzw. wie ich dieses Problem lösen kann?
Vielen Dank schon mal im Vorraus.
MfG Pikko90
|
|
|
|
> [...]
> J_eval;
> dist_eval;
> [U,W,V]=svd(J_eval);
> U
> W
> V
> delta_st=dist_eval' * U' * W(W~=0)=1./W(W~=0) * V;
> [...]
> Hallo liebe Mathe Community,
moin
>
> meine Frage bezieht sich auf den oben abgebildeten
> Programmcode Ausschnitt. Wenn die in Function die SVD
> Zerlegung durchführe, funktioniert das erst einmal
> einwandfrei. Auch anschließendes Ausgeben der einzelnen
> Matrizen funktioniert. Nur sobald ich die berechneten
> Matrizen in einer weiteren Formel benutzen möchte, erkennt
> Matlab sie nicht als vorher berechnete Matrizen wieder.
Das ist eigenartig und keine Fehlerbeschreibung. Wie lautet der rote Text von MATLAB, der dir als Fehler angezeigt wird?
>
> Kann mir jemand sagen woran das liegt, bzw. wie ich dieses
> Problem lösen kann?
Diese Zeile
> delta_st=dist_eval' * U' * W(W~=0)=1./W(W~=0) * V;
mit gleich zweimal "=" ist komisch.
Erster Test: Was gibt dir:
[U,W,V] = svd(X)
norm(X-U*W*V')
aus?
>
> Vielen Dank schon mal im Vorraus.
>
> MfG Pikko90
|
|
|
|