function [ selectedWind,selectedSolar,candidateP ] = generateCandidate( snWind,snSolar,snP,randSNCount,selectedIndex ) selectedWind=zeros(randSNCount,96); selectedSolar=zeros(randSNCount,96); selectedP=zeros(randSNCount,96); for I=1:randSNCount onesIndex=sparse(selectedIndex(I,:),1:96,1,16,96); selectedWind(I,:)=sum(snWind.*onesIndex); selectedSolar(I,:)=sum(snSolar.*onesIndex); selectedP(I,:)=sum(snP.*onesIndex); end candidateP=prod(selectedP,2); candidateP=candidateP./sum(candidateP); end