Galera,
Estou com uma questão que eu não consigo resolver. Já tentei de diversas maneiras e já pedi ajuda para alguns conhecidos, mas nada... Espero que alguém daqui possa me ajudar
Estou trabalhando com Algoritmo Genético no matlab. Tenho um vetor [1 2 3 4 5] onde cada número significa um material. Mando rodar o matlab e ele me dá como melhores opções os materiais os números [5 2 4 3 1]
como eu faço essa rodagem?
Rodo o matlab 1x, ele escolhe o número 5. Vou lá e retiro todas as entradas do número 5. Rodo novamente o matlab e o novo melhor material será o 2. Faço isso para todos os outros números até que se esgotem.
O que eu quero?
Não ter que fazer todo esse processo manualmente visto que tenho 12 ou mais materiais e tenho que fazer modificações em algumas características como nº de população e entre outras coisas... Se eu fizer manualmente vai dar um trabalho gigantesco. Quero que isso seja automático. O matlab rode e ai ele vai escolher o número 5, ai ele guarda esse valor em um vetor e roda novamente, mas dessa vez sem considerar o nº 5, com isso, ele encontrará o nº 2. Guarda ele num vetor e roda novamente, mas dessa vez considerando os números 1, 3 e 4... e assim em diante
O que tenho feito e não está dando certo?
Da maneira que eu to fazendo não está dando certo porque o for está indo de 1 a 12.. Observe na resposta que ele considera o material de nº 5 como sendo o melhor até i = 5, depois aparecem outros... Quando tenho i = 3, por exemplo, ele já não considera o 1º e 2º materiais... a única rodagem que ele considera todos os 12 é quando i = 1
Bom Dia, gostaria de saber como resolver esse exercício de algoritmo no programa OCTAVE ou MATLAB:
Em uma corrida dois carros estão disputando, faça um algoritmo que receba as velocidades e diga qual carro ganhou( as voltas são fixas, o valor em km/h é pedido ao usuário).
OBSERVAÇÃO: utilizando função!
Dados:
Pista 5 km ( Cada volta equivale 1 km).
Carro 1 = velocidade média( 120 km/h ) nas 3 primeiras voltas.
velocidade média(100 km/h ) nas 2 últimas voltas.
Carro 2= velocidade média( 150 km/h) na primeira volta.
velocidade média( 115 km/h) na segunda e terceira volta.
velocidade média(110 km/h) nas duas últimas voltas.
A minha dúvida surgiu, pois a minha resolução não consegui criar a função, e sim apenas o programa principal. Caso alguém possa me ajudar me mandem o que posso corrigir para tornar meu programa uma função.
Programação:
Function (f)= tempo(v1,v2,v3,v4,v5) % Aqui coloquei utilizando a fórmula de distancia=velocidadextempo para encontrar o tempo.
tempo1 = (3/v1); % O carro que tiver o menor tempo ganha
tempo2 = (2/v2);
tempo3 = (3/v3);
tempo4 = (2/v4);
tempo5 = (2/v5);
if (tempo1+tempo2)>(tempo3+tempo4+tempo5); % Tempo 1 e 2 ( Carro 1) tempo 3,4 e 5 ( Carro 2)
fprintf (' O carro 2 ganhou ');
else fprintf (' O carro 1 ganhou ');
end
end