Equals numbers returns not equal

4 ビュー (過去 30 日間)
SAFA YILDIRIM
SAFA YILDIRIM 2020 年 5 月 5 日
コメント済み: SAFA YILDIRIM 2020 年 5 月 5 日
Hello I have a code like below:
figure
arr = [0.0207,0.6371,0.7504,0.1585,0.3091,0.5112];
for i=1:6
item = arr(i);
image = NewImage;
for r=1:row
for c=1:column
temp = image(r,c,1);
if item ~= temp
image(r,c,:) = 0;
end
end
end
subplot(3,2,i),imshow(image);
end
temp variable and item are both equal to 0.0207 but program flow enters if block. What is the problem?

採用された回答

Clemens Gersch
Clemens Gersch 2020 年 5 月 5 日
編集済み: Clemens Gersch 2020 年 5 月 5 日
Are you sure that they are exactly the same?
Try
format long
and then display your values again. I guess that temp is only roughly 0.0207 and not exactly.
If that is the reason for your problem, you can try the following:
if item ~= round(temp,4)
  1 件のコメント
SAFA YILDIRIM
SAFA YILDIRIM 2020 年 5 月 5 日
Thank you so much. It solved the problem :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeModeling についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by