Français
Source/ Codesnippets

Matrizen: Lineare Gleichungssysteme avec Gauss-Seidel-Iterationsalgorithmus lösen

 

p.specht

qui Gauss-Seidel-Iteration est un zyklisches procéder zur Solution linearer Gleichungssysteme (LGS) qui allgemeinen forme A*x = b.
cet peux on schrittweise lösen, indem on mehrfach rechnet:
x(récente) = x(vieux) - Korr, avec Korrekturvektor Korr = A*x(vieux) - b

Es handelt sich alors um une Fehlerrückkopplung. chacun Durchgang verbessert cela Ergebnis un peu. on beginnt dabei avec geratenen Werten, et quelque chose Glück venez un faute très proche zéro heraus.

qui Gauß-Seidel-Iteration ist speziell approprié pour mal konditionierte Gleichungsysteme (ce sont solche, chez denen sich Rundungs- et Binärübersetzungsfehler mutuel verstärken würden). vous reagiert aussi moins empfindlich sur fehlerbehaftete Koeffizienten comme cela Gauß-procéder. Natürlicher le tort de Iterationsverfahren ist, qui qui Rechenzeit erheblich größer ist comme chez direkten Algorithmen.

Fehlermeldungen devrait amélioré volonté, car qui le cas "Singuläre Matrix" liegt chez Division par zéro nämlich pas toujours avant. Es était cependant sinnvoll, zumindest cette faute einmal abzufangen.
Titre de la fenêtre "LGS-Solution mittels Gauß-Seidel-Iteration"
' source: https://www.rhirte.de/vb/gleichsys.htm#seidel
' Aus Visual Basic dans XProfan 11.2a traduit de
' P. Specht 2012-04. Demoware! aucun comment toujours geartete la responsabilité,
' Verwendung ausschließlich sur eigenes Risiko des Anwenders!
'
' TESTMATRIX DEFINIEREN:
Var n&=4
Var e!=val("1e-9")
Déclarer A![n&,n&+1],x![n&],il$
'            Koeffizienten                 +  Rechte page:
A![1,1]=1 :A![1,2]=0 :A![1,3]=0 :A![1,4]=0 :  A![1,5]=10' = b1
A![2,1]=0 :A![2,2]=1 :A![2,3]=0 :A![2,4]=0 :  A![2,5]=20' = b2
A![3,1]=0 :A![3,2]=0 :A![3,3]=1 :A![3,4]=0 :  A![3,5]=30' = b3
A![4,1]=0 :A![4,2]=0 :A![4,3]=0 :A![4,4]=1 :  A![4,5]=40' = b4
Start:
Déclarer xp![n&],R!,S!,T!,i&,j&,num&

WhileLoop n&:i&=&Boucle

    x![i&] = 5' Startvektor avec einer ersten Ausgangslösung

Endwhile

Repeat

    WhileLoop n&

        i&=&Boucle
        S!=0

        WhileLoop i&-1

            j&=&Boucle
            S!=S!+A![i&,j&]*xp![j&]

        Endwhile

        T!=0

        WhileLoop i&+1,n&

            j&=&Boucle
            T!=T!+A![i&,j&]*X![j&]

        Endwhile

        si A![i&,i&]=0

            imprimer " Singuläre Matrix!"
            il$="sing"
            BREAK

        Endif

        xp![i&]=(A![i&,n&+1]-S!-T!) / A![i&,i&]

    Endwhile

    cas il$="sing":pause
    S!=0

    WhileLoop n&:i&=&Boucle

        R!=X![i&]-xp![i&]
        S!=S!+ R!*R!
        X![i&]=xp![i&]

    Endwhile

    num& = num& + 1

Until Sqr(S!/(n&-1)) < e!

Cas il$<>»:Goto "Stop"
' Ausgabe:
imprimer "\n Ergebnis trouvé dans ";num&;" Durchläufen:"

WhileLoop n&

    i&=&Boucle
    imprimer " x"+str$(i&)+" = ";x![i&]

Endwhile

Stop:
imprimer
WaitInput
Fin
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
17.04.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

708 Views

Untitledvor 0 min.
N.Art01.08.2021
Ernst21.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.06.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie