Wir sollen in Matlab das Sekantenverfahren programmieren und damit dann die Nullstellen der Funktion schnell ausrechnen lassen.
Als erstes habe ich eine Funktion mit drei Eingabewerten (die zu betrachtende Funktion und zwei anfängliche Schätzwerte der Nullstellen bzw. die Punkte die die Sekante verbinden soll) und dann einen Ausgabewert (naja, die approximative Korrdinate für die Nullstelle)
function y = Sekanten(u,x0,x1);
f = inline(u,'x');
i=0; while i<=20 %ab hier hab ich das Problem: In der Schleife ändern sich gleichzeitig ZWEI Größen; immer die zwei neuen Sekantenverbindungspunkte. Wie schaffe ich es, dass sie sich gleichzeitg ändern. Beim Bewton-Verfahren musste ich nur eine Größe ändern, das hat prima geklappt.
x = x-(x-y)/(f(x)-f(y))*f(x); %das y ist in der Rekursion der Schätzwert davor! Aber wie man das y definiert, fällt mir leider nicht ein, weil es ja wiederum durch eine zweiwertige Rekursion definiert werden müsste. Wie handhabt man so etwas? i = i+1; end y=x; end
Freu mich sehr auf eure Tipps! :-)
Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |