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.

 採用された回答

Jacob Halbrooks
Jacob Halbrooks 2012 年 3 月 9 日

0 投票

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

その他の回答 (1 件)

PHAM
PHAM 2012 年 3 月 9 日

0 投票

maybe we can try for i=2:12 y(i+2) = x(i)

1 件のコメント

Mohammad
Mohammad 2012 年 3 月 9 日
Thank you . i said it's a simple example but in real program i can't do that.
if you know any function that put zero for illegal index , for example return 0 for x(-1), please help me.

サインインしてコメントする。

カテゴリ

ヘルプ センター および 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