Buscar

SeletorAleatorio

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

%Seletor Aleatório - VP (R)
%Limpeza de variáveis e prompt antes da execução do programa
clear;
clc;
%Importação dos dados (de um arquivo texto, presente na mesma pasta do programa)
Banco_de_dados=load('nome do arquivo.txt');
%Montagem aleatória
Num_Selecionados=0; %Variável que comportará o número de indivíduos selecionados
Repete=1; %Contadores de repetição
Contador=0;
Igualdade=0;
Contador2=1;
[linhas,colunas]=size(Banco_de_dados); %Obtenção das dimensões da matriz
Num_Selecionados=round(linhas/3); %O total de selecionados será de um terço do banco de dados (ALTERÁVEL: número de selecionados; pode requerer round)
marcador=zeros(Num_Selecionados,1); %Vetor para "marcar" indivíduos já escolhidos (para não haver escolha repetida)
Selecionados=zeros(Num_Selecionados,colunas); %Matriz nula que receberá todos os indivíduos
while Repete==1
 seletor=round(rand*1000); %Seletor de indivíduos; escolha aleatória (0<x<1000) (ALTERÁVEL: multiplicador do rand)
 if (seletor<=linhas)&&(seletor>0) %Se o número do seletor corresponder ao número de algum indivíduo do banco (0<x<=linhas)...
 for Contador=1:length(marcador) %Verificando se o indivíduo sorteado já não foi escolhido, percorrendo o vetor "marcador"
 if seletor==marcador(Contador) 
 Igualdade=Igualdade+1; %Se houver correspondência, a igualdade é detectada
 end
 end
 if Igualdade==0 %Se o indivíduo ainda não foi escolhido...
 marcador(Contador2)=seletor; %O indivíduo é "marcado"
 Selecionados(Contador2,1:colunas)=Banco_de_dados(seletor,1:colunas); %O indivíduo é inserido na matriz
 Contador2=Contador2+1; %Variação do contador (próxima linha a ser preenchida)
 end
 end
 Igualdade=0; %Reiniciando o contador de igualdade
 if Contador2>Num_Selecionados %Quando o contador extrapolar o limite de casas/linhas, parar a repetição
 Repete=0;
 end
end

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais