|
Mai18@gmx.de |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 09.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.07.2010, 10:58
Titel: Wer kann mir helfen?
|
 |
Hallo zusammen!
Auch wenn das für viele von euch wahrscheinlich eine Beleidigung ist, aber ich komme nicht recht weiter und würde hoffen das mir jemand helfen kann: Möchte ein Bisektionsverfahren erstellen aber es läuft nicht. Wäre nett wenn mir jemand helfen könnte. Ich glaube das der Fehler evtl daran liegt das x=0.5*(a+b) nicht in der while-Schleife liegt?!
Gruß
function [ x,n ] = bisektion( f,a,b,TOL )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
x=0.5*(a+b);
n=1;
while abs(f(x))>TOL
n=n+1;
if f(x)*f(a)>0
a=a;
b=x;
else
a=x;
b=b;
end abs(f(x))<TOL
return x,n
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.07.2010, 11:37
Titel:
|
 |
Hallo,
das eine Problem hattest du schon selber erkannt. Das andere ist, dass die Logik genau falsch herum war. Ein bisschen überflüssiges habe ich rausgenommen.
Grüße,
Harald
|
|
|
Mai18@gmx.de |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 09.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.07.2010, 10:18
Titel:
|
 |
Danke Harald! Perfekt!
Jetzt hätte ich noch ein Newtonverfahren das nicht läuft, wäre nett wenn mir nochmals jemand helfen könnte!
Habe eine Grundfunktion f(p) und ihre Ableitung g(p). Möchte das Newtonverfahren n mal anwenden und p als Nullstelle bekommen, gebe Anfangs also nur eine vermuteten Wert ein. G ist nur eine Konstante der Funktion.
Gruß Hans
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.07.2010, 10:49
Titel:
|
 |
Hallo,
die Funktionen würde ich als Function Handles definieren:
Ansonsten sehe ich offen gesagt nicht, was das hier mit einem Newton-Verfahren zu tun hat, das wäre meiner Meinung nach p = p - f(p)/g(p);
Ach so: for n = 1:n ist ungut, da die Variable gleichzeitig Schleifenvariable und Begrenzung wäre.
Grüße,
Harald[/code]
|
|
|
|
|
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 - 2025
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.
|
|