Genetik Algoritmalar (baş ağrısı, aşırı yükler) içeren bir ödev üzerinde çalışma. Farklı çaprazlama yöntemlerini ve farklı mutasyon yöntemlerini test edebilmek için sonuçları karşılaştırmalıyım (ders için yazmam gereken kağıt parçası). Bu nedenle, işlev isimlerini yalnızca işlev kolları olarak Repopulate yöntemine aktarmak istiyorum. BuradaMATLAB- bir işlev tanıtıcı parametresini bir tanıtıcı olarak başka bir işleve geçirme
function newpop = Repopulate(population, crossOverMethod, mutationMethod)
...
child = crossOverMethod(parent1, parent2, @mutationMethod);
...
function child = crossOverMethod(parent1, parent2, mutationMethod)
...
if (mutateThisChild == true)
child = mutationMethod(child);
end
...
önemli nokta 3 gibidir, parametre 3: nasıl bir seviye aşağı mutationMethod iletirim? Ben @ sembolünü kullanırsanız, bana söylenen olsun: Ben @ sembolünü kullanmak istemiyorsanız, o zaman mutationMethod hiçbir parametrelerle, deniyor ve mutsuz olur
"mutationMethod" was previously used as a variable,
conflicting with its use here as the name of a function or command.
.
Evet, farkındayım ki, farklı bir şekilde çalışmasını sağlamak için kodumu yeniden yazabilirim, şimdi çalışmasının çalışmasını nasıl yapacağımı merak ediyorum.
Her türlü yardım büyük beğeni topluyor.