Array indices must be positive integers or logical values.
3 views (last 30 days)
Show older comments
My code keeps outputting this error:
i = 0;
x1 = xi - f(xi)./df(xi);
while abs(f(x1)) > precision
i = i + 1;
x1 = xi - f(x1)/df(xi)
end
- Array indices must be positive integers or logical values.
Can anyone suggest a fix?
0 Comments
Accepted Answer
madhan ravi
on 31 May 2020
f & df should be a function handle , can't see how you defined so it might be the issue.
More Answers (1)
Image Analyst
on 31 May 2020
You're passing in x1 and xi as array indexes. These are most likely floating point numbers, not integers or logical values. See the FAQ for a thorough discussion: https://matlab.fandom.com/wiki/FAQ#.22Subscript_indices_must_either_be_real_positive_integers_or_logicals..22
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!