Français
Source/ Codesnippets

Gradientenabstieg: Newton-Raphson dans 2 Dimensionen

 

p.specht

cela Newton-Raphson-procéder funktioniert aussi avec Funktionen dans 2 Dimensionen, sprich: z =Z(x,y). malheureusement ist cela procéder insofern plutôt anspruchsvoll, comme qui sog. partiellen Ableitungen qui bekannten Funktion (pour x et pour y) également bekannt son devrait. chez pas allzu komplizierten Formeln sollte cela mais aller. Liegen allerdings seulement payons / Datensätze, z.B. avec Messwerten sur 2 Dimensionen avant, ensuite empfehlen sich autre, rein numerische procéder, z.B. Nelder-Mead udgl.

Hinweis: qui ici einprogrammierten Funktionen wurden gewählt, à Auswirkungen qui heiklen l'élection des Startpunktes sur cela Ergebnis darzustellen.
Titre de la fenêtre "Gradientenabstieg (Newtonverfahren dans 2 Dimensionen)"
AppendMenuBar 100,"Geg.: Z(x,y)=(x+sin(y))*exp(-sqr(x)*-sqr(y)) Ges.: lieu des lokalen Minimus"
Fenêtre 0,0-%maxx,%maxy-40:font 2
declare z!,x!,y!,xh&,yh&,f!,g!,s!
xh&=width(%hwnd)\2:yh&=height(%hwnd)\2
g!=1.5:s!=0.1:f!=220

proc Z :parameters x!,y!

    return (x!+sin(y!))*exp(-sqr(x!)-sqr(y!))

endproc

proc dZdx :parameters x!,y!

    return exp(-sqr(y!)-sqr(x!))*(1-2*x!*(x!+sin(y!)))

endproc

proc dZdy :parameters x!,y!

    return exp(-sqr(y!)-sqr(x!))*(cos(y!)-2*y!*(x!+sin(y!)))

endproc

' ------ Z-champ représenter ----
cls
x!=-g!:Repeat
y!=-g!:Tandis que y!<=g!
z!=Z(x!,y!)
usepen 0,7+7*z!,rgb(0,0,400*z!)
line xh&+x!*f!+z!*7,(yh&-y!*f!-z!*11) - xh&+x!*f!,yh&-y!*f!
y!=y!+s!:endwhile
x!=x!+s!:until x!>=g!
'-------------------------------------------------------
' Gradientenabstieg
'-------------------------------------------------------
declare gstep!,xx!,yy!,xxo!,yyo!,dx!,dy!,dz!,eps!,n&,xxx!,yyy!
gstep!=0.15

whileloop   50,-50,-5:yyy!=&Boucle/50

    whileloop -50,50,5 :xxx!=&Boucle/30

        xx!=xxx!
        yy!=yyy!'Startpunkt
        n&=0

        REPEAT

            dx!=dZdx(xx!,yy!)
            dy!=dZdy(xx!,yy!)
            xxo!=xx!:yyo!=yy!
            xx!=xx!-dx!*gstep!
            yy!=yy!-dy!*gstep!
            usepen 0,4,rgb(255,0,0)
            line xh&+xx!*f!,(yh&-yy!*f!)-xh&+xx!*f!,yh&-yy!*f!
            locate 2,2:imprimer xx!,yy!,Z(xx!,yy!),n&;"   "
            inc n&

        UNTIL ((xx!=xxo!) and (yy!=yyo!)) or (n&>=250)

    WEND

WEND

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

Untitledvor 0 min.
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.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