Schreiben Sie ein Programm, welches die Nullstelle der Funktion f(x) = (x + 3)2 − 20 zu
einem beliebigen Startwert xo mit dem Newton-Verfahren berechnet:
xi+1 = xi − f(xi)/ f′(xi), i = 0, 1, 2, ...
Geben Sie die (i+1)-ten Zwischenwerte: xi+1, f(xi+1) und |xi+1−xi| der Newton-Iteration
in einer Zeile aus. Programmieren Sie die Funktion und die Ableitung als Matlab-
Funktionen.
Welche Abbruchkriterien kennen Sie? Welches sollte man implementieren? Wie sollte man
normalerweise den Startwert w¨ahlen? Schreiben Sie die Antworten dazu als Kommentar
in Ihr Programm. Testen Sie ihr Programm an einer weiteren Funktion.
(Hinweis: while-Schleife, function/inline, plot)
Bis jetzt habe ich etwas was aber Fehler aufweist, kann mir da jemand helfen und mich korrigieren ?
1. Bitte verwende die Code-Umgebung für Code, da dies besser lesbar ist.
2. Bitte hänge eine neue Frage nicht an einen bestehendes Thema an. Erstens ist sonst unklar, zu welcher Frage eine Antwort gehört, zweitens ist der "beantwortet"-Status sinnfrei und drittens macht das Auseinandersortieren dem Moderatoren zusätzliche Arbeit.
3. Das direkte Kopieren der Aufgabenstellung hat oft das Problem, dass Hausaufgaben oft in unfreundlichem Befehlston formuliert sind: "Schreiben Sie ein Programm...". In einem Forum hört sich das nicht gut an.
4. Wenn Du schreibst, dass dein Programm Fehler aufweist, ist es sinnvoll und effizient, wenn du diese auch erklärst, z.B. die kompletten Fehlermeldungen postest oder den Unterschied zwischen Erwartungen und Resultaten erklärst. Es ist viel leichter einen Verbesserungsvorschlag zu machen, wenn man nicht zuerst das Problem erraten muss.
5. Wurde dir der brutale "clear all; clc;" Header von irgendjemandem empfohlen? Wenn ja, von wem? Das ist nämlich für ein sinnvolles Programmieren nahezu tödlich, weil "clear all" auch alle Breakpoints löscht, so dass man den Code nicht mehr debuggen kann. "clc" lässt dann auch noch die bisherigen Warn- und Fehlermeldungen verschwinden, was auch keine gute Idee ist. Trotzdem findet man das in so vielen Programmen von Matlab-Anfängern, dass es mich immer wieder gruselt.
Nebenbei löscht "clear all" auch alle geladenen Funktionen aus dem Speicher und das Nachladen von der Platte verbraucht viel und unnötig Zeit.
Gruß, Jan
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
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.