Français
Source/ Codesnippets

Nichtlineare Gleichungen blitzartig lösen: qui Brent-Algorithmus

 

p.specht

Pour une Funktion 3. Grades nécessaire cela procéder pour R. Brent [1973] seulement 8 Passes, um sur 16-stellige Genauigkeit trop venons. Allerdings sommes Voraussetzungen trop rencontrer: qui Anfangswerte devrait différent Vorzeichen avons. en supplément muss on déjà quelque chose Ahnung avons, comment qui Funktionsgraph ungefähr aussieht. là cela nachfolgende Programme ici seulement une Fehlermeldung abgibt, sich alors pas (comment qui Profi-Programme) selber sur qui cherche pour geeigneten Werten begibt, handelt es sich seulement einmal seulement um une Prinzipstudie. Immerhin funktioniert cela Prinzip mais très bien!
Titre de la fenêtre "Prinzipstudie: Nichtlineare Gleichung numerisch Lösen pour Brent [1973]"
Fenêtre Style 24:CLS:font 2
declare c0!,c1!,c2!,c3!,c4!,c5!,x!,a!,b!,c!,d!,e!,tol!,fa!,fb!,fc!
declare iter&,maxiter&,eps!,m!,r!,s!,t!,p!,q!,xs!
'Funktionstyp qui trop lösenden Gleichung (ici:Polynom max. 5.Grades)

proc f :parameters x!

    return c0!+x!*c1!+x!*x!*c2!+x!*x!*x!*c3!+x!*x!*x!*x!*c4!+x!*x!*x!*x!*x!*c5!

endproc

'Funktionsparameter: Testfunktion ist ici vom Grad 3 = Kubische Parabel
c0!=-5
c1!=8.17
c2!=-1.894
c3!=.114
c4!=0
c5!=0
'Gewünschte Genauigkeit (max. 15 signifikannte se mettre):
eps!=val("1e-16")
maxiter&=1000
t!=0'kleine additive Konstante (nnur chez très schwierigen Funktionen)
'Suchbereich 1:
imprimer "\n Test-Sollwerte: ",6.208317, 9.67556
a!=6
b!=7
BRENT :Waitinput 1000
a!=7
b!=10
BRENT :beep:Waitinput
FIN

Proc BRENT

    Déclarer x!, c!,d!,e!,tol!,fa!,fb!,fc!
    Déclarer iter&,m!,r!,s!,p!,q!,xs!
    imprimer "\n\n dans den Grenzen ";format$("%g",a!),"bis",format$("%g",b!);" wurden trouvé:"
    fa!=f(a!)
    fb!=f(b!)

    si (fa!*fb!)>0

        imprimer "\n ERROR: f(a) et f(b) devrait différent Vorzeichen haben"
        beep:waitinput:end

    endif

    c!=a!:fc!=fa!' trop Beginn ist c = a
    d!=b!-a!
    e!=d!
    iter&=0

    tandis que iter&<maxiter&

        iter&=iter&+1

        si (fb!*fc!)>0

            c!=a!:fc!=fa!:d!=b!-a!:e!=d!

        endif

        si abs(fc!)<abs(fb!)

            a!=b!:b!=c!:c!=a!
            fa!=fb!: fb!=fc!: fc!=fa!

        endif

        tol!=2*eps!*abs(b!)+t!'Toleranz
        m!=(c!-b!)/2

        si (abs(m!)>tol!) AND (abs(fb!)>0)' procéder muss encore durchgeführt volonté

            si (abs(e!)<tol!) OU (abs(fa!)<=abs(fb!))

                d!=m!:e!=m!

            d'autre

                s!=fb!/fa!

                si a!=c!

                    p!=2*m!*s!
                    q!=1-s!

                d'autre

                    q!=fa!/fc!
                    r!=fb!/fc!
                    p!=s!*(2*m!*q!*(q!-r!)-(b!-a!)*(r!-1))
                    q!=(q!-1)*(r!-1)*(s!-1)

                endif

                si p!>0

                    q!=-q!

                d'autre

                    p!=-p!

                endif

                s!=e!
                e!=d!

                si ( (2*p!)<(3*m!*q!-abs(tol!*q!)) ) AND (p!<abs(s!*q!/2))

                    d!=p!/q!

                d'autre

                    d!=m!
                    e!=m!

                endif

            endif

            a!=b!
            fa!=fb!

            si abs(d!)>tol!

                b!=b!+d!

            d'autre

                si m!>0

                    b!=b!+tol!

                d'autre

                    b!=b!-tol!

                endif

            endif

        d'autre

            pause

        endif

        fb!=f(b!)

    endwhile

    xs!=b!
    imprimer "\n Nullwurzel: ";format$("%g",xs!)," avec "
    imprimer "\n Restfehler: ";format$("%g",fb!)," trouvé dans ";iter&;" Durchgängen."

ENDPROC

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
27.05.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

1.411 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.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