Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
What am I doing wrong (NEwtons method?)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Command window says I have an error on line 10. I have no clue whats wrong with my code though.
0 Kommentare
Antworten (2)
Cris LaPierre
am 10 Mai 2020
Much more helpful if you copy/paste the entire error as well as the code.
My initial guess is that you are getting an error that the index must be a positive integer? In your for loop, your loop counter i starts at 1. In you conditional statement on line 10, you use x(i-1). When i=i, it attempts to extract the value at x(0). However, in MATLAB, indexing starts at 1, not 0.
The simplest solution is to have your for loop index start at 2.
0 Kommentare
Walter Roberson
am 10 Mai 2020
for i=1:Nmax
so i starts at 1.
if min(abs(x(i)-x(i-1)))<xtol||min(abs(f1(x(i))))<ftol
i is a scalar. x(i) and x(i-1) are scalars. abs() of subtracting two scalars would be a scalar. What is the purpose of taking min() of a scalar?
On the first iteration, i is 1. x(i)-x(i-1) is x(1)-x(1-1) which is x(1)-x(0) . But x(0) is not a legal subscript in MATLAB.
Notice that when you got to that line, you have just computed x(i+1) but you do not use x(i+1) in your test to see if you have finished.
0 Kommentare
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!