error: Array indices must be positive integers or logic

回答(2 个)

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

2 个评论

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.

请先登录,再进行评论。

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

2 个评论

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);

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by