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-----------------------------------

 Réponse acceptée

Kye Taylor
Kye Taylor le 6 Août 2012
Your inner loop should run from
j = 1:c
not
j = i:c

2 commentaires

thanks very much, i didn't see that it was i , it solved everything :)
Sean de Wolski
Sean de Wolski le 6 Août 2012
Please accept the answer that helped you resolve this in order to mark the thread closed.

Connectez-vous pour commenter.

Plus de réponses (1)

Star Strider
Star Strider le 6 Août 2012

0 votes

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 commentaire

u are also right , because of i instead of 1 it was a fcn for a upper triangle :) thx again

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by