フィルターのクリア

IQ test, why does matlab see different answers?

1 回表示 (過去 30 日間)
Algirdas Kluonius
Algirdas Kluonius 2012 年 8 月 6 日
I have simple program which I will use later for more difficult, why do i get different answers for FIND and IF ------------------MATLAB code here-------------------------------------------
clear all, clc
b=0;
d=0;
b=[];
A=rand(5,5);
[r,c]=size(A);
inx=find(A>0.5);
disp(['There are ' num2str(length(inx)) ' no numbers more than 4'])
for i=1:r;
for j=i:c;
if A(i,j)>0.5;
d=d+1;
b=[b A(i,j)];
end;
end;
end;
if d>0;
disp(['There are ' num2str(d) ' numbers more than 4'])
else d==0;
disp(['There are no numbers more than 4'])
end;
---------------------End of MATLAB code-----------------------------------

採用された回答

Kye Taylor
Kye Taylor 2012 年 8 月 6 日
Your inner loop should run from
j = 1:c
not
j = i:c
  2 件のコメント
Algirdas Kluonius
Algirdas Kluonius 2012 年 8 月 6 日
thanks very much, i didn't see that it was i , it solved everything :)
Sean de Wolski
Sean de Wolski 2012 年 8 月 6 日
Please accept the answer that helped you resolve this in order to mark the thread closed.

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

その他の回答 (1 件)

Star Strider
Star Strider 2012 年 8 月 6 日
MATLAB doesn't see different answers, your code does. In your ‘for’ loop you're only seeing the upper triangular part of ‘A’. The ‘find’ function sees the entire ‘A’ matrix.
  1 件のコメント
Algirdas Kluonius
Algirdas Kluonius 2012 年 8 月 6 日
u are also right , because of i instead of 1 it was a fcn for a upper triangle :) thx again

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

カテゴリ

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