Array indices must be positive integers or logical values.

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?

 채택된 답변

madhan ravi
madhan ravi 2020년 5월 31일

0 개 추천

f & df should be a function handle , can't see how you defined so it might be the issue.

추가 답변 (1개)

Image Analyst
Image Analyst 2020년 5월 31일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

태그

질문:

2020년 5월 31일

댓글:

2020년 6월 3일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by