Index in position 1 is invalid. Array indices must be positive integers or logical values. getting this error command while running this code

1 visualizzazione (ultimi 30 giorni)
old_obs_1 = plot3(Obs5(1,1), Obs5(1,2), Z(round(Obs5(1,2)),round(Obs5(1,1))),'o','MarkerSize',20, 'MarkerFaceColor','r','MarkerEdgeColor', 'k');
Please help
Thanks in advance

Risposta accettata

Simon Chan
Simon Chan il 2 Feb 2022
At least the value on Obs5(1,2) is <0.5
Obs5 = [0.5 0.4];
Z=rand(2,3);
old_obs_1 = plot3(Obs5(1,1), Obs5(1,2), Z(round(Obs5(1,2)),round(Obs5(1,1))),'o','MarkerSize',20, 'MarkerFaceColor','r','MarkerEdgeColor', 'k');
Index in position 1 is invalid. Array indices must be positive integers or logical values.

Più risposte (1)

KSSV
KSSV il 2 Feb 2022
This error is simple, you are trying to extract more number of elements than present in the array.
A = rand ; % A is aconstat i.e 1x1 array.
A(1) % no error
ans = 0.6042
A(1,2) % error becasue there is no second element, alse A(2) means the same
Index in position 2 exceeds array bounds. Index must not exceed 1.
Check your variable dimensions. You have used index 2, it seemsthere is no second element.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by