# IQ test, why does matlab see different answers?

1 view (last 30 days)
Algirdas Kluonius on 6 Aug 2012
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 CommentShowHide None
Oleg Komarov on 6 Aug 2012

Kye Taylor on 6 Aug 2012
Your inner loop should run from
j = 1:c
not
j = i:c
##### 2 CommentsShowHide 1 older comment
Sean de Wolski on 6 Aug 2012
Please accept the answer that helped you resolve this in order to mark the thread closed.

### More Answers (1)

Star Strider on 6 Aug 2012
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 CommentShowHide None
Algirdas Kluonius on 6 Aug 2012
u are also right , because of i instead of 1 it was a fcn for a upper triangle :) thx again