Array indices must be positive integers or logical values.

1 visualización (últimos 30 días)
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?

Respuesta aceptada

madhan ravi
madhan ravi el 31 de Mayo de 2020
f & df should be a function handle , can't see how you defined so it might be the issue.

Más respuestas (1)

Image Analyst
Image Analyst el 31 de Mayo de 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

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by