# Index in position 1 is invalid. Array indices must be positive integers or logical values.

7 views (last 30 days)
yashvini shukla on 11 Mar 2020
Commented: yashvini shukla on 11 Mar 2020
Hey all,
Long story short, I need to flip my data/reassign the w data to new indices on the y axis and got the indices 394,530. However I am trying to extract the data from ReSHEARLAYERandWAKE2(1).uxux.w (a structured data set containing some w values - say reynolds stresses for each x and y position)
from specific x and y ranges, and yet everytime i am shown an error "Index in position 1 is invalid. Array indices must be positive integers or logical values."
ww = ReSHEARLAYERandWAKE2(1).uxux.w;
wwmirror = ww;
for i = 0:366
for j = 394:530
wwmirror(i,1080 - (j - 394)) = ww(i,j)
end
end
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Bhaskar R on 11 Mar 2020
Edited: Bhaskar R on 11 Mar 2020
Index of the array start from 1 and it must be positive integer in MATLAB.
In your code for loop i = 0:366 starting from 0 that means ww(i,j) iterates as w(0, 394) so on.. It is invalid in MATLAB indexing
so change the logic so that in satisfies "Index of the array start from 1 and it must be positive integer in MATLAB."
For more details
##### 1 CommentShowHide None
yashvini shukla on 11 Mar 2020
Thanks a lot!! That worked. I am triying to use the showf function, and it works
>> showf(ReSHEARLAYERandWAKE2(1).mean(223:400,100:500))
Index in position 1 exceeds array bounds (must not exceed 1).
not sure how to show only specific parts in the data.
thankss

Sign in to comment.

### Categories

Find more on Matrix Indexing in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by