Vocês conseguem notar o que tem de errado? function [ retorno ] = divisores2( numero ) if numero<1 retorno=0; elseif mod(numero,1)~=0 fprintf('Erro, número digitado não é inteiro, tente novamente \n'); else for i=2:numero if i>=1 if(mod(numero,i)==0) retorno(length(retorno)+1)=i; end else retorno=0; end end end end Error in ==> divisores2 at 2 if numero<1 e Error in ==> divisores2 at 10 retorno(length(retorno)+1)=i;