Español
Fuente/ Codesnippets

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

 

p.specht

El Gauss-Seidel-Iteration es una zyklisches Verfahren a Solución linearer Gleichungssysteme (LGS) el allgemeinen Form A*x = b.
Diese puede ser schrittweise lösen, indem uno mehrfach rechnet:
x(neu) = x(alt) - Korr, con Korrekturvektor Korr = A*x(alt) - b

Lo es se also una Fehlerrückkopplung. Jeder Durchgang mejorado el Ergebnis una wenig. Man beginnt esta con geratenen Werten, y algo Glück kommt una Fehler muy nahe Null heraus.

El Gauß-Seidel-Iteration es específicamente geeignet para schlecht konditionierte Gleichungsysteme (el son solche, en denen se Rundungs- y Binärübersetzungsfehler gegenseitig verstärken würden). Sie reagiert auch weniger empfindlich en fehlerbehaftete Koeffizienten como el Gauß-Verfahren. Natürlicher Nachteil de Iterationsverfahren es, daß el Rechenzeit erheblich größer es como en direkten Algorithmen.

Fehlermeldungen debería todavía ser mejorada, porque el Fall "Singuläre Matrix" liegt en Division por Null nämlich no siempre antes. Lo war sin embargo sinnvoll, zumindest esta Fehler una vez abzufangen.
Título de la ventana "LGS-Solución mittels Gauß-Seidel-Iteration"
' Quelle: https://www.rhirte.de/vb/gleichsys.htm#seidel
' Aus Visual Basic en XProfan 11.2a traducido de
' P. Pájaro carpintero 2012-04. Demoware! Keine como siempre geartete Haftung,
' Verwendung ausschließlich en propio Risiko des Anwenders!
'
' TESTMATRIX DEFINIEREN:
Var n&=4
Var e!=val("1e-9")
Declarar A![n&,n&+1],x![n&],Er$
'            Koeffizienten                 +  Rechte Página:
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:
Declarar xp![n&],R!,S!,T!,i&,j&,num&

WhileLoop n&:i&=&Loop

    x![i&] = 5' Startvektor con uno ersten Ausgangslösung

EndWhile

Repeat

    WhileLoop n&

        i&=&Loop
        S!=0

        WhileLoop i&-1

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

        EndWhile

        T!=0

        WhileLoop i&+1,n&

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

        EndWhile

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

            imprimir " Singuläre Matrix!"
            Er$="sing"
            BREAK

        Endif

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

    EndWhile

    caso Er$="sing":romper
    S!=0

    WhileLoop n&:i&=&Loop

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

    EndWhile

    num& = num& + 1

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

Case Er$<>"":Goto "Stop"
' Edición:
imprimir "\n Ergebnis gefunden en ";num&;" Durchläufen:"

WhileLoop n&

    i&=&Loop
    imprimir " x"+str$(i&)+" = ";x![i&]

EndWhile

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



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

709 Views

Untitledvor 0 min.
N.Art01.08.2021
Ernst21.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.06.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie