亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? case1_as_533.m

?? MATALB蟻群算法:以MATALB為編程環(huán)境詳細介紹了一個控制系統(tǒng)的蟻群算法實例仿真!
?? M
字號:
%Introduction
%This file include the implementation of ACS algorithem for PID tuning.
%This file only include pheromone intensity ,no visibility.

%Part 1: Initialization.
%Step 1: For a given control system with a PID controller, compute the PID 
%        parameters Kp, Ki, Kd using the Ziegler-Nichols tuning formula, and 
%        compute the system's ITAE performance index Itae.
%        In this case, The system model is 1/(s^2+1.6s+1). Using the Ziegler-Nichols
%        tuning formula reach the PID parameters as following: Opt_Kp=3.5 Opt_Ki=2.9167 
%        Opt_Kd=1.05   Opt_Itae=1.2204
warning off;
clear;
clc;
for ASCYCLES=1:1
    
Opt_Kp=3.5; Opt_Ki=2.9167; Opt_Kd=1.05; Opt_Itae=0.7266;

%Part 2: Define global variable

%Step 1: For implementation of ACS algorithem, define some global variable, such as:
%        ANTS(the number of ants)   Evaporation(coefficient which represents the evaporation
%        of pheromone substance     Cycles(the maximum number of iterated cycles)
ANTS=50; Evaporation=0.1; CYCLES=100;
%Step 2: Grid_X(the number of x coordinate)     Grid_Y(the number of y coordinate)
Grid_X=15;  Grid_Y=10;  First_Grid_Y=5; Sixth_Grid_Y=3; Eleventh_Grid_Y=3; 
Grid_Y_Array=[5,10,10,10,10,3,10,10,10,10,3,10,10,10,10];
%Step 3: FirstLine(the line which connect two spot between the original spot and Grid_X=1)
%        Lines(the lines which connect two spot in the Grid between Grid_X=1 and Grid_X=15)
%        Given initial pheromone intensity on lines.
FirstLine=ones(1,First_Grid_Y);  SecondLine=ones(First_Grid_Y,Grid_Y);    ThirdLines=ones(3,Grid_Y,Grid_Y);   
SixthLine=ones(Grid_Y,Sixth_Grid_Y);    SeventhLine=ones(Sixth_Grid_Y,Grid_Y);  EightLines=ones(3,Grid_Y,Grid_Y);
EleventhLine=ones(Grid_Y,Eleventh_Grid_Y);  TwelvethLine=ones(Eleventh_Grid_Y,Grid_Y);  ThirteenthLines=ones(3,Grid_Y,Grid_Y);
%Step 4: Paths(the paths which all ant passed)  Opt_Path(the optimal Path has been found)
Paths=zeros(ANTS,Grid_X);   Opt_Path=[3, 5, 0, 0, 0, 2, 9, 1, 6, 7, 1, 0, 5, 0, 0];

%Part 3: Beginning of ACS algorithem

%Step 1: Initialization of cycles. 
%        cycle(cycle counter)   Cof_Pheromone(the relative importance of pheromone intensity)
cycle=0; Cof_Pheromone=1;
%Step 2: Beginning of cycles
while cycle<CYCLES
%while Opt_Itae>0.119
    %Step 3: Compute the possibility from the original spot to spots on Grid_X=1.
    Total_Possi=0;
    for i=1:First_Grid_Y;
        Total_Possi=Total_Possi+FirstLine(1,i)^Cof_Pheromone;
    end;
    for i=1:First_Grid_Y;
        First_Possi(i)=FirstLine(1,i)^Cof_Pheromone/Total_Possi;
    end;
    %Step 4: The first step of ants from ariginal to Grid_X=1
    NextSpots=WheelSel(First_Possi,ANTS);  %The Roulette Wheel Selection method
    for i=1:ANTS;
         Paths(i,1)=NextSpots(i)-1;
    end;
    %Step 5: The next Grid_X-1 step of ants from Grid_X=1 ...Grid_X=15
    for i=1:Grid_X-1;%For every line from line 1 to line Grid_X-1
        for j=1:Grid_Y_Array(i);%For every point on start line 
            Total_Possi=0;
            for k=1:Grid_Y_Array(i+1);%Compute the possibility from this spot to spots on next line
                if i==1;
                    Total_Possi=Total_Possi+SecondLine(j,k)^Cof_Pheromone;
                elseif (i>1)&(i<5);
                    Total_Possi=Total_Possi+ThirdLines(i-1,j,k)^Cof_Pheromone;
                elseif i==5;
                    Total_Possi=Total_Possi+SixthLine(j,k)^Cof_Pheromone;
                elseif i==6;
                    Total_Possi=Total_Possi+SeventhLine(j,k)^Cof_Pheromone;
                elseif (i>6)&(i<10);
                    Total_Possi=Total_Possi+EightLines(i-6,j,k)^Cof_Pheromone;
                elseif i==10;
                    Total_Possi=Total_Possi+EleventhLine(j,k)^Cof_Pheromone;
                elseif i==11;
                    Total_Possi=Total_Possi+TwelvethLine(j,k)^Cof_Pheromone;
                elseif (i>11)&(i<15);
                    Total_Possi=Total_Possi+ThirteenthLines(i-11,j,k)^Cof_Pheromone;
                end;
            end;
            for k=1:Grid_Y_Array(i+1);
                if i==1;
                    Other_Possi(k)=SecondLine(j,k)^Cof_Pheromone/Total_Possi;
                elseif (i>1)&(i<5);
                    Other_Possi(k)=ThirdLines(i-1,j,k)^Cof_Pheromone/Total_Possi;
                elseif i==5;
                    Sixth_Possi(k)=SixthLine(j,k)^Cof_Pheromone/Total_Possi;
                elseif i==6;
                    Other_Possi(k)=SeventhLine(j,k)^Cof_Pheromone/Total_Possi;
                elseif (i>6)&(i<10);
                    Other_Possi(k)=EightLines(i-6,j,k)^Cof_Pheromone/Total_Possi;
                elseif i==10;
                    Eleventh_Possi(k)=EleventhLine(j,k)^Cof_Pheromone/Total_Possi;
                elseif i==11;
                    Other_Possi(k)=TwelvethLine(j,k)^Cof_Pheromone/Total_Possi;
                elseif (i>11)&(i<15);
                    Other_Possi(k)=ThirteenthLines(i-11,j,k)^Cof_Pheromone/Total_Possi;
                end;
            end;
            count=0;
            for k=1:ANTS;%Find ants which on this spot 
                if Paths(k,i)==(j-1);
                    count=count+1;
                    position(count)=k;
                end;
            end;
            %NextPosition=zeros(count); %Compute the next spot on next line the ants on this spot will be
            if i==5;
                NextPosition=WheelSel(Sixth_Possi,count);
            elseif i==10;
                NextPosition=WheelSel(Eleventh_Possi,count);    
            else                    
                NextPosition=WheelSel(Other_Possi,count);
            end;
            for k=1:count;
                Paths(position(k),(i+1))=NextPosition(k)-1;
            end;
        end;%end for j
    end;%end for i
    %Step 6: Change paths which ants passed into PID parameters Kp Ki Kd
    Kps=zeros(ANTS); Kis=zeros(ANTS); Kds=zeros(ANTS);
    [Kps,Kis,Kds]=PathToPID(Paths,ANTS);
    %Step 7: Execute control system simulation by the PID parameters and find optimal performance index
    for i=1:ANTS;
        PID_KP=Kps(i);  PID_KI=Kis(i);  PID_KD=Kds(i);    
        sim('case1_pid');
        k=length(PID_ITAE);
        ITAES(i)=PID_ITAE(k);
    end;
    [minn,OptAnt]=min(ITAES);%Find the optimal performance index and optimal path

    if Opt_Itae>ITAES(OptAnt);
        Opt_Itae=ITAES(OptAnt);  Opt_Kp=Kps(OptAnt);   Opt_Ki=Kis(OptAnt);   Opt_Kd=Kds(OptAnt);    
        for i=1:Grid_X;
            Opt_Path(i)=Paths(OptAnt,i);
        end;
    end;
    %Step 8: Update pheromone trails by applying the rule:
    %        Update FirstLine's pheromone trails
    Q_Constant=Opt_Itae;%1.2204;
    Min_Pheromone=0;
    Max_Pheromone=100;
    for i=1:First_Grid_Y;
        FirstLine(1,i)=(1-Evaporation)*FirstLine(1,i);
    end;
    for i=1:ANTS;
        k=Paths(i,1)+1;
        FirstLine(1,k)=FirstLine(1,k)+Q_Constant/ITAES(i);
    end;
    %       Limit the pheromone intensity on every line in a range
    for i=1:First_Grid_Y;
        if FirstLine(1,i)>Max_Pheromone;
            FirstLine(1,i)=Max_Pheromone;
        end;
        if FirstLine(1,i)<Min_Pheromone;
            FirstLine(1,i)=Min_Pheromone;
        end;
    end;
    %       Update other Line's pheromone trails
    for i=1:Grid_X-1;
        for j=1:Grid_Y_Array(i);
            for k=1:Grid_Y_Array(i+1);
                if i==1;
                    SecondLine(j,k)=(1-Evaporation)*SecondLine(j,k);
                elseif (i>1)&(i<5);
                    ThirdLines(i-1,j,k)=(1-Evaporation)*ThirdLines(i-1,j,k);
                elseif i==5;
                    SixthLine(j,k)=(1-Evaporation)*SixthLine(j,k);
                elseif i==6;
                    SeventhLine(j,k)=(1-Evaporation)*SeventhLine(j,k);
                elseif (i>6)&(i<10);
                    EightLines(i-6,j,k)=(1-Evaporation)*EightLines(i-6,j,k);
                elseif i==10;
                    EleventhLine(j,k)=(1-Evaporation)*EleventhLine(j,k);
                elseif i==11;
                    TwelvethLine(j,k)=(1-Evaporation)*TwelvethLine(j,k);
                elseif (i>11)&(i<15);
                    ThirteenthLines(i-11,j,k)=(1-Evaporation)*ThirteenthLines(i-11,j,k);
                end;
            end;
        end;
    end;
    for i=1:Grid_X-1;
        for m=1:ANTS;
            j=Paths(m,i)+1; k=Paths(m,i+1)+1;
            if i==1;
                SecondLine(j,k)=SecondLine(j,k)+Q_Constant/ITAES(m);
            elseif (i>1)&(i<5);
                ThirdLines(i-1,j,k)=ThirdLines(i-1,j,k)+Q_Constant/ITAES(m);
            elseif i==5;
                SixthLine(j,k)=SixthLine(j,k)+Q_Constant/ITAES(m);
            elseif i==6;
                SeventhLine(j,k)=SeventhLine(j,k)+Q_Constant/ITAES(m);
            elseif (i>6)&(i<10);
                EightLines(i-6,j,k)=EightLines(i-6,j,k)+Q_Constant/ITAES(m);
            elseif i==10;
                EleventhLine(j,k)=EleventhLine(j,k)+Q_Constant/ITAES(m);
            elseif i==11;
                TwelvethLine(j,k)=TwelvethLine(j,k)+Q_Constant/ITAES(m);
            elseif (i>11)&(i<15);
                ThirteenthLines(i-11,j,k)=ThirteenthLines(i-11,j,k)+Q_Constant/ITAES(m);
            end;
        end;
    end;
    %       Limit the pheromone intensity on every line in a range
    for i=1:Grid_X-1;
        for j=1:Grid_Y_Array(i);
            for k=1:Grid_Y_Array(i+1);
                if i==1;
                    if SecondLine(j,k)>Max_Pheromone
                        SecondLine(j,k)=Max_Pheromone;
                    end;
                    if SecondLine(j,k)<Min_Pheromone;
                        SecondLine(j,k)=Min_Pheromone;
                    end;
                elseif (i>1)&(i<5);
                    if ThirdLines(i-1,j,k)>Max_Pheromone
                        ThirdLines(i-1,j,k)=Max_Pheromone;
                    end;
                    if ThirdLines(i-1,j,k)<Min_Pheromone;
                        ThirdLines(i-1,j,k)=Min_Pheromone;
                    end;
                elseif i==5;
                    if SixthLine(j,k)>Max_Pheromone
                        SixthLine(j,k)=Max_Pheromone;
                    end;
                    if SixthLine(j,k)<Min_Pheromone;
                        SixthLine(j,k)=Min_Pheromone;
                    end;
                elseif i==6;
                    if SeventhLine(j,k)>Max_Pheromone
                        SeventhLine(j,k)=Max_Pheromone;
                    end;
                    if SeventhLine(j,k)<Min_Pheromone;
                        SeventhLine(j,k)=Min_Pheromone;
                    end;
                elseif (i>6)&(i<10);
                    if EightLines(i-6,j,k)>Max_Pheromone
                        EightLines(i-6,j,k)=Max_Pheromone;
                    end;
                    if EightLines(i-6,j,k)<Min_Pheromone;
                        EightLines(i-6,j,k)=Min_Pheromone;
                    end;
                elseif i==10;
                    if EleventhLine(j,k)>Max_Pheromone
                        EleventhLine(j,k)=Max_Pheromone;
                    end;
                    if EleventhLine(j,k)<Min_Pheromone;
                        EleventhLine(j,k)=Min_Pheromone;
                    end;
                elseif i==11;
                    if TwelvethLine(j,k)>Max_Pheromone
                        TwelvethLine(j,k)=Max_Pheromone;
                    end;
                    if TwelvethLine(j,k)<Min_Pheromone;
                        TwelvethLine(j,k)=Min_Pheromone;
                    end;
                elseif (i>11)&(i<15);
                    if ThirteenthLines(i-11,j,k)>Max_Pheromone
                        ThirteenthLines(i-11,j,k)=Max_Pheromone;
                    end;
                    if ThirteenthLines(i-11,j,k)<Min_Pheromone;
                        ThirteenthLines(i-11,j,k)=Min_Pheromone;
                    end;
                end;
            end;
        end;
    end;
    %Step 9: cycle plus 1 and go to next cycle
    cycle=cycle+1;
    %Step 10: Print the optimal performance index and parameters
    Opt_Itae;
    cycle
end;%end of while


%Part 4: Print the optimal result
 PID_KP=Opt_Kp;  PID_KI=Opt_Ki;  PID_KD=Opt_Kd;    
 sim('case1_pid');
 k=length(PID_ITAE);
 Opt_Itae=PID_ITAE(k);
 [Mo,tr,ts,ess]=performance(ScopeData.time,ScopeData.signals.values);
 Opt_Result=[Opt_Kp, Opt_Ki, Opt_Kd, Opt_Itae, Mo, tr, ts, ess];
 
 ASCYCLES
 ASPIDS(ASCYCLES,:)=[Opt_Kp,Opt_Ki,Opt_Kd];
 ASITAES(ASCYCLES)=Opt_Itae;
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区综合| 久久成人综合网| 精品国产一区久久| 91老师片黄在线观看| 美女被吸乳得到大胸91| 中文天堂在线一区| 精品乱人伦一区二区三区| 在线观看国产日韩| 成人午夜av电影| 国内精品自线一区二区三区视频| 亚洲精品免费看| 欧美国产激情二区三区 | 欧美日本在线视频| 丁香亚洲综合激情啪啪综合| 日本不卡123| 亚洲午夜在线电影| 中文字幕一区二区三区在线不卡 | 日韩激情一区二区| 亚洲精品成人精品456| 久久免费看少妇高潮| 欧美一区二区三区喷汁尤物| 色网站国产精品| 成人国产精品免费网站| 国产一区不卡在线| 久久精品国产秦先生| 视频一区视频二区中文| 亚洲国产精品麻豆| 亚洲一区二区在线免费看| 亚洲日本青草视频在线怡红院| 久久综合久久综合久久| 日韩视频国产视频| 欧美一区二区三区在| 欧美精品 日韩| 在线播放欧美女士性生活| 欧美日韩视频一区二区| 欧美理论在线播放| 欧美日韩一级片网站| 欧美视频在线观看一区二区| 在线免费观看一区| 欧美偷拍一区二区| 51精品久久久久久久蜜臀| 欧美三级电影网| 欧美日韩免费一区二区三区 | 欧美国产亚洲另类动漫| 久久婷婷一区二区三区| 久久这里都是精品| 国产清纯在线一区二区www| 日本一区二区高清| 亚洲欧美日韩在线| 亚洲免费资源在线播放| 亚洲韩国一区二区三区| 亚洲第一在线综合网站| 日本不卡视频在线观看| 久色婷婷小香蕉久久| 国产一区二区三区观看| 丁香五精品蜜臀久久久久99网站| av一区二区三区黑人| 在线看日本不卡| 欧美浪妇xxxx高跟鞋交| 欧美成人性战久久| 国产视频一区在线播放| 亚洲日本在线观看| 日本欧洲一区二区| 国产成人综合自拍| 91在线观看美女| 欧美日本一区二区三区四区| 欧美白人最猛性xxxxx69交| 久久久久久免费| 一区二区免费看| 久久精品国产成人一区二区三区| 国产乱码一区二区三区| 91视频在线看| 日韩欧美一区二区视频| 国产精品久久久久毛片软件| 一区二区三区四区不卡在线| 奇米在线7777在线精品| 懂色中文一区二区在线播放| 欧美色精品天天在线观看视频| 日韩一区二区视频在线观看| 国产精品人妖ts系列视频| 亚洲午夜一区二区| 国产精品18久久久久久久久久久久| 91麻豆精品一区二区三区| 在线不卡中文字幕播放| 中文字幕欧美日本乱码一线二线| 亚洲一区二区免费视频| 国产在线精品一区在线观看麻豆| 91麻豆国产香蕉久久精品| 欧美电影免费观看高清完整版在线观看 | 日本道免费精品一区二区三区| 欧美一卡二卡三卡四卡| 中文字幕在线观看一区二区| 免费看日韩a级影片| av高清不卡在线| 欧美大片一区二区三区| 亚洲自拍偷拍综合| 成人午夜电影网站| 欧美大片国产精品| 亚洲一二三专区| 福利电影一区二区| 日韩免费高清电影| 亚洲国产精品综合小说图片区| 国产成人在线色| 欧美电影免费观看高清完整版在线观看| 亚洲免费在线视频| 粉嫩一区二区三区性色av| 欧美一区二区三区公司| 亚洲最大成人综合| 大胆亚洲人体视频| 久久久一区二区三区捆绑**| 爽爽淫人综合网网站| 色视频成人在线观看免| 国产精品美女久久久久久久久久久| 美国av一区二区| 欧美疯狂做受xxxx富婆| 亚洲在线观看免费视频| 91一区二区三区在线观看| 国产欧美1区2区3区| 国产在线日韩欧美| 精品国产一区二区在线观看| 免费一区二区视频| 9191久久久久久久久久久| 亚洲国产一区在线观看| 91久久精品日日躁夜夜躁欧美| 国产精品免费看片| 不卡在线视频中文字幕| 亚洲国产精品ⅴa在线观看| 国精产品一区一区三区mba桃花| 91麻豆精品国产91久久久使用方法| 亚洲一区二区三区爽爽爽爽爽| 91麻豆精品视频| 一区二区三区日韩欧美| 91久久一区二区| 亚洲高清视频的网址| 欧美综合一区二区| 亚洲h在线观看| 欧美老年两性高潮| 免费av成人在线| 欧美变态tickling挠脚心| 久草中文综合在线| 久久亚洲精品国产精品紫薇| 精品一区二区三区免费| 久久伊99综合婷婷久久伊| 国产在线国偷精品免费看| 久久久www免费人成精品| 国产乱国产乱300精品| 国产亚洲欧洲997久久综合| 国产成人免费9x9x人网站视频| 国产无遮挡一区二区三区毛片日本| 国产精品一二三四区| 中文字幕一区二区三中文字幕| jiyouzz国产精品久久| 亚洲另类一区二区| 欧美电影一区二区三区| 久久成人久久鬼色| 欧美韩国一区二区| 色欧美88888久久久久久影院| 亚洲国产sm捆绑调教视频| 欧美一区二区在线看| 美国十次了思思久久精品导航| 久久久久久久久岛国免费| hitomi一区二区三区精品| 亚洲最快最全在线视频| 日韩免费观看高清完整版 | 欧美成人vps| 粉嫩aⅴ一区二区三区四区五区| 1024亚洲合集| 51精品国自产在线| 成人永久aaa| 久草在线在线精品观看| 久久精品人人做人人综合| 色呦呦一区二区三区| 日韩精品一二三四| 久久久久久久性| 在线国产电影不卡| 国产一区久久久| 一区二区国产视频| 久久亚洲精品国产精品紫薇| 91视频国产资源| 韩国欧美一区二区| 伊人色综合久久天天人手人婷| 日韩精品中午字幕| 91色porny| 国产精品自拍毛片| 亚洲综合免费观看高清完整版在线 | 国产乱人伦精品一区二区在线观看 | 亚洲国产精品久久艾草纯爱| 久久精品欧美日韩| 欧美色视频在线| 国产成人av影院| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品视频在线看| 欧美一区二区三区精品| 91视频在线观看| 国产成人精品一区二区三区四区 | 亚洲精品视频免费看| 久久综合狠狠综合久久激情 | 欧美浪妇xxxx高跟鞋交| 不卡的电视剧免费网站有什么| 久久99国产精品麻豆|