Borrar filtros
Borrar filtros

IQ test, why does matlab see different answers?

1 visualización (últimos 30 días)
Algirdas Kluonius
Algirdas Kluonius el 6 de Ag. de 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-----------------------------------

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

Star Strider
Star Strider el 6 de Ag. de 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 comentario
Algirdas Kluonius
Algirdas Kluonius el 6 de Ag. de 2012
u are also right , because of i instead of 1 it was a fcn for a upper triangle :) thx again

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by