IQ test, why does matlab see different answers?
古いコメントを表示
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-----------------------------------
1 件のコメント
Oleg Komarov
2012 年 8 月 6 日
You can format your code: http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
採用された回答
その他の回答 (1 件)
Star Strider
2012 年 8 月 6 日
0 投票
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.
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!