91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: Matlab
  • 標簽: 遺傳算法??matlab??

資源簡介

基于ATO的列車速度曲線優化,用matlab遺傳算法實現。適合初學者。

資源截圖

代碼片段和文件信息

function?[Saasample]=adjust(sampleavhvm)
%調整函數

[Saasample]=decode(sample);
[cr]=size(S);

index=find(aa(:1)<2|aa(:1)>5);??%初始檔位不是加速檔的索引修改為加速檔
for?i=1:length(index)
????ran=ceil(rand()*4);
????ran=dec2bin(ran3);
????sample(index(i)11)=logical(str2double(ran(1)));
????sample(index(i)12)=logical(str2double(ran(2)));
????sample(index(i)13)=logical(str2double(ran(3)));
end

%先計算各點v值
v=zeros(cr);
for?i=2:r
????as=a(aa(:i-1));
????as=as‘;
????v(:i)=sqrt(2*as.*(S(:i)-S(:i-1))+v(:i-1).^2);
end
log=angle(v)~=0|v>vm;???%選出速度小于0或大于vm的節點
log(:end-1)=log(:end-1)|v(:end-1)>vh;
log(:end)=log(:end)*0;%忽略末段速度為0,轉為修改節點值
logs=sum(sum(log));?????%邏輯和

k=1;
while?logs??????????????%如果邏輯和不為0,則證明有速度小于0或大于vm
????index=find(log);????%異常速度的索引
????for?i=1:length(index)
????????[xy]=i2s([cr]index(i));??????%異常速度的位置
????????if?y==r?????????%如果是結尾段速度小于0,就不改了
????????????break
????????end
????????if?v(xy)>vm????%如果超速則降檔
????????????ran=bin2dec(num2str(sample(xy*13-15:y*13-13)));
????????????if?ran==0
????????????????ran=8;
????????????end
????????????????ran=ran-1;
????????????ran=dec2bin(ran3);
????????????sample(xy*13-15)=logical(str2double(ran(1)));
????????????sample(xy*13-14)=logical(str2double(ran(2)));
????????????sample(xy*13-13)=logical(str2double(ran(3)));
????????elseif?y>=9&&v(xy)>vh?????%如果末段超速則修改上一個檔位為減速檔111?110?101
????????????if?k>50?????????%如果實在無法減速,限定他全程惰性檔(變相殺死)
%?????????????????aa(x2:end)=0*aa(x2:end)+1;
%?????????????????S(x2)=100;
%?????????????????sample(x:)=d_decode(S(x:)aa(x:));
????????????????sample(x:)=zeros(113*r‘single‘);
????????????end
????????????ran=ceil(rand()*3)+4;
????????????ran=dec2bin(ran3);
????????????sample(xy*13-15)=logical(str2double(ran(1)));
????????????sample(xy*13-14)=logical(str2double(ran(2)));
????????????sample(xy*13-13)=logical(str2double(ran(3)));
????????else????????????%如果沒超速,那么速度肯定為負值修改上一個檔位為加速檔或者惰性檔
????????????ran=floor(rand()*5);
????????????ran=dec2bin(ran3);
????????????sample(xy*13-15)=logical(str2double(ran(1)));
????????????sample(xy*13-14)=logical(str2double(ran(2)));
????????????sample(xy*13-13)=logical(str2double(ran(3)));
????????end
????end
????
????[Saasample]=decode(sample);
????v=zeros(cr);
????for?i=2:r
????????as=a(aa(:i-1));
????????as=as‘;
????????v(:i)=sqrt(2*as.*(S(:i)-S(:i-1))+v(:i-1).^2);
????end
????log=angle(v)~=0|v>vm;???%選出速度小于0或大于vm的節點
????log(:end-1)=log(:end-1)|v(:end-1)>vh;
????log(:end)=log(:end)*0;%忽略末段速度為0,轉為修改節點值
????logs=sum(sum(log));?????%邏輯和
????
????k=k+1;
????if?k>60
????????disp(‘Error‘)
????????pause
????end
end

log=angle(v(:end))~=0;
index=find(log(:end));?????%找見所有末段速度小于0的點,修改他們的節點值
for?i=1:length(index)
????as=a(aa(index(i)end-1));
????aim=floor(S(index(i)end-1)-v(index(i)end-1)^2/2/as);
????ran=dec2bin(aim10);
????sample(index(i)end-12)=logical(str2double(ran(1)));
????sample(index(i)end-11)=logical(str

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-30?11:02??GA\
?????文件????????3872??2018-05-18?11:27??GA\GA.m
?????文件?????????807??2018-05-18?11:20??GA\Untitled.m
?????文件?????????348??2018-05-11?10:35??GA\a.mat
?????文件????????4291??2018-05-18?10:55??GA\adjust.m
?????文件?????????815??2018-05-11?10:26??GA\d_decode.m
?????文件?????????871??2018-05-15?11:35??GA\decode.m
?????文件?????????985??2018-05-11?09:53??GA\fitness.m
?????文件????????1300??2018-05-11?10:33??GA\fitness_s.m
?????文件??????????83??2018-05-08?14:41??GA\i2s.m
?????文件?????????680??2018-05-15?12:43??GA\myfun.m
?????文件?????????339??2018-05-11?10:32??GA\old.mat
?????文件?????????965??2018-05-10?14:56??GA\picture.m

評論

共有 條評論