Not enough input arguments
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
Hi, I try to create a genetic algorithm model and i try to create a fitness function to calculate fitness of every child. However, Matlab gives a function input error.
Here is the code that I wrote so far,
_
function [ fitness ] = calcfitness( breedingpop, nbreeding, penalty )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
for i=1:nbreeding
fitness = (breedingpop(nbreeding).penalty - breedingpop(i).penalty) / (breedingpop(nbreeding).penalty - breedingpop(1).penaltybreedingpop)
end
i know "penalty" is not the correct way to add as an argument. Does anyone have any idea how I could add penalty as an argument. Thanks
Réponses (1)
Azzi Abdelmalek
le 21 Juin 2013
Modifié(e) : Azzi Abdelmalek
le 21 Juin 2013
function [ fitness ] = calcfitness( breedingpop, nbreeding, penalty )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
for i=1:nbreeding
fitness = (breedingpop(nbreeding).(penalty) - breedingpop(i).penalty) / (breedingpop(nbreeding).(penalty) - breedingpop(1).penaltybreedingpop)
end
penalty should be a strindg
6 commentaires
tevzia
le 21 Juin 2013
Azzi Abdelmalek
le 21 Juin 2013
Did you read my answer?
use
breedingpop(nbreeding).(penalty) % instead of
breedingpop(nbreeding).penalty
tevzia
le 21 Juin 2013
Azzi Abdelmalek
le 21 Juin 2013
How did you call your function?
tevzia
le 21 Juin 2013
Azzi Abdelmalek
le 21 Juin 2013
penalty should be a string
childfitness = calcfitness(breedingpop, nbreeding, 'penalty' )
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!