www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - lr zerleung
lr zerleung < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

lr zerleung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:17 Mi 15.04.2009
Autor: AriR

hey leute,

ich kapiere leider nicht wie man genau den befeh "lu" in matlab verwendet. hab eine ggb matrix A und soll nun L und R mithilfe des befehls lu bestimmen, wenn ich [L U]=lu(A) in matlab eingebe, bekomme ich für U auch eine obere rechte dreiecksmatrix nur für L leider nicht, trotzdem ergibt L*U=A. weiß einer von euch wie ich das genau eingeben muss?


gruß

        
Bezug
lr zerleung: Antwort
Status: (Antwort) fertig Status 
Datum: 04:10 Do 16.04.2009
Autor: SanMiggel


> hey leute,
>  
> ich kapiere leider nicht wie man genau den befeh "lu" in
> matlab verwendet. hab eine ggb matrix A und soll nun L und
> R mithilfe des befehls lu bestimmen, wenn ich [L U]=lu(A)
> in matlab eingebe, bekomme ich für U auch eine obere rechte
> dreiecksmatrix nur für L leider nicht, trotzdem ergibt
> L*U=A. weiß einer von euch wie ich das genau eingeben
> muss?

Hmm, was genau erwartest du denn von dem Ergebnis? M.W. ist es nicht möglich eine beliebige Matrix einfach als Produkt eine oberen und unteren Dreiecksmatrix darzustellen. Damit es immer funktionert brauchst du noch eine Permutationsmatrix.
Schau dir das mal an:
1:
2: >> A = rand(3,3)
3:
4: A =
5:     0.9649    0.9572    0.1419
6:     0.1576    0.4854    0.4218
7:     0.9706    0.8003    0.9157
8:
9: >> [L U P] = lu(A)
10:
11: L =
12:     1.0000         0         0
13:     0.1624    1.0000         0
14:     0.9941    0.4546    1.0000
15:
16:
17: U =
18:     0.9706    0.8003    0.9157
19:          0    0.3554    0.2731
20:          0         0   -0.8926
21:
22:
23: P =
24:      0     0     1
25:      0     1     0
26:      1     0     0
27:
28: >> L*U
29:
30: ans =
31:     0.9706    0.8003    0.9157
32:     0.1576    0.4854    0.4218
33:     0.9649    0.9572    0.1419
34:
35: >> P^(-1)*L*U
36:
37: ans =
38:     0.9649    0.9572    0.1419
39:     0.1576    0.4854    0.4218
40:     0.9706    0.8003    0.9157


Schau mal in die help von lu, da gibt es viele andere Möglichkeiten die Funktion zu nutzen.

> gruß

Hope it helps.
Michael

Bezug
                
Bezug
lr zerleung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 09:19 Do 16.04.2009
Autor: AriR

bei mir ist aber eine matrix gegeben, bei der es geht. wir sollen den lu-befehl dann einmal nutzen um eine LR zerlegung mit pivotisierung zu realisieren, was ja deinem ansatz entspricht, und einmal eine LR zerlegung ohne pivotisierung (also ohne permutationsmatrix usw) nur das bekomme ich mit dem befehl "lu" nicht hin :(

Bezug
                        
Bezug
lr zerleung: Antwort
Status: (Antwort) fertig Status 
Datum: 15:20 Do 16.04.2009
Autor: SanMiggel

Okay, jetzt hab ich verstanden was du willst. Da sage ich nur RTFM! ;-)

    [L,U,P] = LU(A,THRESH) controls pivoting in sparse matrices, where
    THRESH is a pivot threshold in [0,1].  Pivoting occurs when the
    diagonal entry in a column has magnitude less than THRESH times the
    magnitude of any sub-diagonal entry in that column.  THRESH = 0 forces
    diagonal pivoting.  THRESH = 1 is the default.

Also mache deine Matrix sparse und setze den Pivioting-Threshold zu 0:

1:
2: A = [1 2 3; 1 1 1; 3 3 1]
3: [L U P] = lu(sparse(A),0);
4: full(U)
5: full(L)
6: full(L*U)
7:
8: A =
9:
10:      1     2     3
11:      1     1     1
12:      3     3     1
13:
14:
15: ans =
16:
17:      1     2     3
18:      0    -1    -2
19:      0     0    -2
20:
21:
22: ans =
23:
24:      1     0     0
25:      1     1     0
26:      3     3     1
27:
28:
29: ans =
30:
31:      1     2     3
32:      1     1     1
33:      3     3     1


Bezug
                                
Bezug
lr zerleung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:24 Do 16.04.2009
Autor: AriR

was bedeutet "sparse" und "Pivioting-Threshold"? :P

Bezug
                                        
Bezug
lr zerleung: Antwort
Status: (Antwort) fertig Status 
Datum: 05:25 Fr 17.04.2009
Autor: SanMiggel


> was bedeutet "sparse"

eine dünn besetzte Matrix (nur Elmente ungleich 0 werden abgespeichert)

> und "Pivioting-Threshold"? :P

"THRESH is a pivot threshold in [0,1].  Pivoting occurs when the
    diagonal entry in a column has magnitude less than THRESH times the
    magnitude of any sub-diagonal entry in that column."
Also der normierte Betrag des diagonal Elements unterhalb dem Pivoting durchgeführt wird.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]