フィルターのクリア

Assigning value to an element in vector

1 回表示 (過去 30 日間)
xplore29
xplore29 2013 年 9 月 4 日
The problem is trivial but the code does not work. I wanted to replace 1 by -1 in a matrix
ip = [0 1 1 0;0 0 0 1]
X=find(ip == 1)
for i=1:length(X)
ip(X(i))=-1
end
But this does not work and is beyond my understanding. Is there any logical error here?
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 9 月 4 日
編集済み: Azzi Abdelmalek 2013 年 9 月 4 日
Your code is correct
Is there any error message? If not what is the result?

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

回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 9 月 4 日
Runs correctly for me.
In your actual code, is it possible that what you really have for "1" is not an integer? For example if you were searching for 1.3 ? If so then
  2 件のコメント
xplore29
xplore29 2013 年 9 月 4 日
this small script runs independently...thats true for mr as well. But in my big code this fails. And i am only dealing with integers and therefore getting into decimals is out of scope here.
i also tried
ip(ip==1)=-1
but this also fails in my main code.
James Tursa
James Tursa 2013 年 9 月 4 日
What do you get for this:
isequal(fix(ip),ip)

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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by