MATLAB: Work with Array

arrayMATLAB

Hello Is there any function to elimiate automomatically member with negetive index? for example:
i=1:10 y(i)=x(i-2);
it's a simple example. could you please help me? thank you.

Best Answer

Logical indexing can be a good way to remove or manipulate elements in an array. In your case, let's say you have an array of indices, some of which are invalid (i.e. less than 1):
ind = [1:10]-2
Create a new array of indices with only valid values:
validInd = ind(ind >= 1)
If you wanted to instead replace illegal index values with a number such as 1, you could do this:
validInd = ind;
validInd(validInd< 1) = 1