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 zerlegung mit Tridiagonalma
LR zerlegung mit Tridiagonalma < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

LR zerlegung mit Tridiagonalma: Aufgabe
Status: (Frage) überfällig Status 
Datum: 21:47 Mi 20.05.2009
Autor: tony1v

Aufgabe
Lineare Gleichungssysteme mit Tridiagonalmatrix

a) LR-Zerlegung, Vorw¨arts- und R¨uckw¨artssubstitution
Betrachtet werden lineare Gleichungssysteme Ax = b mit einer regulären Tridiagonalmatrix.

Um Speicherplatz zu sparen, werden die drei besetzten Diagonalen in einer (3 × n)-Matrix
abgelegt.
Leiten Sie den Algorithmus der LR-Zerlegung einer Tridiagonalmatrix ohne Pivotsuche her,
d.h. f¨ur Matrizen, die keine Elemente gleich null auf der Hauptdiagonalen verursachen. Es
gilt dann A = LR mit unterer normierter Dreiecksmatrix L und oberer Dreiecksmatrix R.
Schreiben Sie eine Funktion in MATLAB, welche diese LR-Zerlegung einer Tridiagonalmatrix
ausf¨uhrt. Die LR-Zerlegung kann dabei in der gleichen (3×n)-Matrix abgespeichert werden,
in der urspr¨unglich A vorliegt. Man beachte, dass die Matrix L nur Einsen auf der Diagonale
besitzt, die daher nicht abgespeichert werden m¨ussen.
Die Funktion soll folgende Form besitzen:
function A = tridi_lr(A)
% LR-Zerlegung einer Tridiagonalmatrix
% Eingabeparameter:
% A n*n-Tridiagonalmatrix in 3*n-Matrix gespeichert
% Ausgabeparameter:
% A LR-Zerlegung von A in gleicher 3*n-Matrix gespeichert
Die Ordnung n des Gleichungssystems kann innerhalb der Funktion mit dem Befehl size aus
dem Eingangsparameter ermittelt werden.
Die Funktion soll mit einer Fehlermeldung (Befehl disp) abbrechen, falls ein Pivotelement
(d.h. ein Element auf der Hauptdiagonalen) null wird.

Formulieren Sie desweiteren eine Funktion, die aus der LR-Zerlegung von A und der rechten
Seite b mittels Vorw¨arts- und R¨uckw¨artssubstitution die L¨osung x berechnet.
Die Funktion soll dabei den folgengen Aufruf enthalten:
function x = tridi_vwrw(Z,b)
% Vorwaerts- und Rueckwaertssubstitution mit LR-Zerlegung
% einer Tridiagonalmatrix
% Eingabeparameter:
% Z LR-Zerlegung von n*n-Tridiagonalmatrix in 3*n-Matrix gespeichert
% b rechte Seite des linearen Gleichungssystems
% Ausgabeparameter:
% x Loesung des linearen Gleichungssystems


Für die speicherung der n*n matrix habe ich das programm geschrieben aber der tut gar nicht

function T = TR(A)


[n,n] = size(A);
B=zeros(3,n);
for i=1:n-1
    for j=2:n
  B(1,j) =A(i,j) ;
    end
end    
    
return;

und für die zerlegung klapt schon mit diesem Program

function [L,R] = LR(A)
%------------------------------------------------------------------
% Berechnet eine LR-Zerlegung (Gauss-Elimination).
% Eingabe: A nxn-regulaere Matrix.
% Ausgabe: L nxn-untere Dreiecksmatrix, R nxn-obere Dreiecksmatrix.
%------------------------------------------------------------------
[n,n] = size(A);

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

aber mit die speicherung auf 3*n matrix klapt leider nicht?

wie kann ich aus die beide program ein program machen vielen Dank

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.



          




        
Bezug
LR zerlegung mit Tridiagonalma: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:20 Mi 27.05.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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