www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 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" - Jacobiverfahren Code Octave
Jacobiverfahren Code Octave < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Jacobiverfahren Code Octave: Code für Octave
Status: (Frage) überfällig Status 
Datum: 21:32 Fr 04.12.2015
Autor: Darodi2012

Hallo liebe Profis,

ich hab ein Problem : soll im Grunde Jacobiverfahren in Octave durchführen soll aber sehr ähnlich sein mit Mathlab... Ich hab auch einen COde aber dieser hat nur die ersten 3 mal funktioniert .... dann hab ich noch was geändert und bekomme den Fehler nicht raus. Abgabe ist am Dienstag !
mein Code:

Code:
function [xx] = jacobi(A,b,it)
printf("Gesamtschrittverfahren von [mm] Jacobi\n\n"); [/mm]

[m,n] = size(A);
[o,p] = size(b);
if (m!=n)
error("A ist nicht quadratisch!");
end
if (p != 1)
b = b'
[o,p]=size(b);
end
if (o!= m)
error("Die Anzahl der Spalten von A und b stimmt nicht uberein!")
end

if (it < 1)
error("Anzal der Iterationen muss > 0 sein!");
end

A
U=tril(A,-1);
D=diag(diag(A));
D1=diag(1./diag(A));
O=triu(A,1);
x=zeros(n,1);
xneu=zeros(n,1);

[mm] printf("\n"); [/mm]
printf("x(start) = [mm] [0,0,...]\n"); [/mm]
printf("x(neu) = -D^(-1) * U * x  -  D^(-1) * O * x  + D^(-1) * [mm] b\n"); [/mm]

for i = 1:it
xneu = -D1*(U+O)*x + D1*b
x=xneu;
end

xx = x;




Es sollte funktioniern nach dem Eintippen von :
A = [19,3,2;5,18,3;1,2,20]
b = [1,2,3]
jacobi(A,b,5)


und sollte rauskommen :






octave:30> A = [19,3,2;5,18,3;1,2,20]
A =

  19   3   2
   5  18   3
   1   2  20

octave:31> b = [1,2,3]
b =

  1  2  3

octave:32> jacobi(A,b,5)
Gesamtschrittverfahren von Jacobi

b =

  1
  2
  3

A =

  19   3   2
   5  18   3
   1   2  20


x(start) = [0,0,...]
x(neu) = -D^(-1) * U * x  -  D^(-1) * O * x  + D^(-1) * b
xneu =

  0.052632
  0.111111
  0.150000

xneu =

  0.019298
  0.071491
  0.136257

xneu =

  0.027001
  0.083041
  0.141886

xneu =

  0.024584
  0.079963
  0.140346

xneu =

  0.025233
  0.080891
  0.140774

ans =

  0.025233
  0.080891
  0.140774





funktioniert nicht richtig irgendwie sollte auch mehrere ergebnisse anzeigen aber geht auch nur manchmal ... ich verzweifel ... :(

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt





        
Bezug
Jacobiverfahren Code Octave: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:49 Di 08.12.2015
Autor: matux

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


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]