|
|
Programmierung Newton-Verfahren |
|
Metallions |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 23.04.18
|
|
|
|
Wohnort: Duisburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.04.2018, 02:43
Titel: Programmierung Newton-Verfahren
|
|
|
|
|
Hallo liebe Matlab-Gemeinde,
ich versuche mir gerade im Selbststudium weiter Matlab beizubringen.
Ich möchte nun gerne das Newton-Verfahren zur Bestimmung eines Maximums programmieren. Leider komme ich aber absolut nicht weiter und vorhandene Themen helfen mir leider auch nicht weiter.
Und zwar habe ich das Folgende (Algorithmus):
Ich habe Durchläufe n = 1,2,3,...
Dann muss F(x_n),F'(x_n) und F''(x_n) berechnet werden.
Die Formel des Newton Verfahren: x_n+1 = x_n - F'(x_n) / F''(x_n)
Falls dann der Betrag (x_n+1 - x_n) < Toleranz tol ist, soll das Verfahren beendet werden.
Sonst gehe zum Durchlauf n+1
Meine Eingabeparameter ist ein Startwert x_1 und die Toleranz tol
z.B.
tol =1.5;
x_1 = 2;
Die Formeln F(x_n),F'(x_n) und F''(x_n) möchte ich in einer gesonderten function-file haben. Die sieht bei mir bisher so aus:
function [F,F1,F2] = meinefunktion(x)
% Bestimmung der Zielfunktionswerte
F = 17*x^2+3x;
F1 = 34*x+3;
F2 = 34;
% Hier: F(x) ist F, F'(x) ist F1 und F''(x) ist F2
end % Ende der Funktion
Nun möchte ich das Newton-Verfahren in einem weiteren function-file (unter Verwendung des oberen function-files) programmieren, aber ich komme zum verrecken nicht drauf, wie ich den oben genannten Algorithmus hinbekomme.
Mir machen vor allem die fortlaufenden Indizes n bei dem x Probleme.
Rückgabe ist optimaler Zielfunktionswert F(x*), n und optimaler Wert x*
Das würde ich so programmieren:
disp(['x*: ',num2str(x)])
disp(['F(x*): ',num2str(F)])
disp(['Durchläufe n: ', num2str(n)])
Ich hoffe ihr könnt mir weiterhelfen.
Ich bedanke mich schon mal jetzt sehr.
Mit freundlichen Grüßen
|
|
|
|
|
Metallions |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 23.04.18
|
|
|
|
Wohnort: Duisburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.04.2018, 15:13
Titel:
|
|
Hallo,
hat sich erledigt, da ich es selber hinbekommen habe.
Ich danke trotzdem
Schöne Grüße
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|