error: Array indices must be positive integers or logic

Answers (2)

y(i) = y(i) + 1;
instead of
y(II) = y(II) + 1;

2 Comments

The value of II may be a floatpoint number. MATLAB uses integer and 1 based indexing for accessing array elements
thank you for the response. i have changed it and it is still giving me the same error message.

Sign in to comment.

Due to floating point round-off, the result A+(B*x(i)) might not be exactly an integer. You should round() it.

2 Comments

when i try round() i recieve a different message
You have not posted enough context to really give you an answer.
But I suspect that you should have made x one element shorter. Something along the line of
x = linspace(xmin, xmax, number_of_steps+1);
x = x(1:end-1);

Sign in to comment.

Tags

Asked:

on 2 Feb 2024

Commented:

on 2 Feb 2024

Community Treasure Hunt

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

Start Hunting!