From 5f2bf4beef280ac366ce633d144d184f83077d8f Mon Sep 17 00:00:00 2001 From: "dmy@lab" Date: Mon, 2 Feb 2015 17:29:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80=E4=B8=AAev?= =?UTF-8?q?olve=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dmy@lab --- evolute.m | 10 +++++----- main.m | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/evolute.m b/evolute.m index 40c9851..0e602c2 100644 --- a/evolute.m +++ b/evolute.m @@ -3,14 +3,14 @@ function [ selectedIndex ] = evolute( selectedIndex,randSNCount,snSolar ) changeN=1;%选择多少时段进行修改。 changedIndex=1:96; changedIndex=changedIndex( round(1+(96-1)*rand(changeN,1)) ); -for c=1:length(changedIndex) +% for c=1:length(changedIndex) % selectedIndex(:,changedIndex)=round(1+(16-1)*rand(randSNCount,changeN));%这是改变后的值 - if abs(snSolar(16,c)-(-100))<1e-5 - selectedIndex(:,c)=round(1+(4-1)*rand(randSNCount,1));%这是改变后的值 + if any(abs(snSolar(16,changedIndex)-(-100))<1e-5) + selectedIndex(:,changedIndex)=round(1+(4-1)*rand(randSNCount,length(changedIndex)));%这是改变后的值 else - selectedIndex(:,c)=round(1+(16-1)*rand(randSNCount,1));%这是改变后的值 + selectedIndex(:,changedIndex)=round(1+(16-1)*rand(randSNCount,length(changedIndex)));%这是改变后的值 end -end +% end % [ selectedWind,selectedSolar,candidateP ] = generateCandidate( snWind,snSolar,snP,randSNCount,selectedIndex ); end diff --git a/main.m b/main.m index 39f04a0..25b6cb8 100644 --- a/main.m +++ b/main.m @@ -22,7 +22,7 @@ end bestFitness=0; bestIndex=0; -for LOOP=1:500 +for LOOP=1:10 fprintf('第%d次迭代\n',LOOP); fprintf('最好适度函数%f\n',bestFitness); for I=1:gaCount