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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? npccon1.m

?? matlab中的神經網絡控制系統工具箱
?? M
?? 第 1 頁 / 共 2 頁
字號:
         h1               = W1(:,1:inputs)*phi + W1(:,inputs+1);  
         y1(H_hidden,k-N1+1) = pmntanh(h1(H_hidden)); 
         y1(L_hidden,k-N1+1) = h1(L_hidden);
         yhat_vec(tiyh+k) = W2(:,1:hidden)*y1(:,k-N1+1) + W2(:,hidden+1);
       end
       
       %========================     EVALUATE CRITERION     =======================
       duvec = u_vec(tiu:tiu+Nu-1)-u_vec(tiu-1:tiu+Nu-2);
       evec  = ref(i+N1:i+N2) - yhat_vec(tiyh+N1:tiyh+N2);
       J_mu = evec'*evec + rho*(duvec'*duvec);


       %====================    DETERMINE dyhat(t+k,up_mu)/du   ===================
       for k=N1:N2
       % tanh'(x)
       df(H_hidden)  = (1-y1(H_hidden,k-N1+1).*y1(H_hidden,k-N1+1));

      for l=0:min(k-d,Nu-2)
         imax1 = min(k-d-l,na);
         if l>=k-d-nb+1,
          if imax1>=1, 
           hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                          + W1(:,na+k-d-l+1);;
          else
              hj_vec=W1(:,na+k-d-l+1);
          end
         else
           hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)';
         end
       dY_dU(l+1,k-N1+1)  = W2(1:hidden)*(df.*hj_vec);
      end
      
      if k>=Nu
         l=Nu-1;
         imax1 = min(k-d-l,na);
         imax2 = min(k-d-Nu+2,nb);
         if imax2>1,
           if k==Nu,
             hj_vec = sum(W1(:,na+1:na+imax2)')';
           else
             hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                                                    + sum(W1(:,na+1:na+imax2)')';
           end
         else
           if k==Nu,
             hj_vec = W1(:,na+1:na+imax2);
           else
             hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                                                    + W1(:,na+1:na+imax2);
           end
         end                                    
 
         dY_dU(l+1,k-N1+1)  = W2(1:hidden)*(df.*hj_vec);
       end 
     end
       
     
      %=========================     DETERMINE dJ/du     =========================
       dJdu_mu   = 2*(-dY_dU*evec + rho*(dUtilde_dU*duvec));
       Jb2 = J_mu; Gb2 = dJdu_mu;
     
     
       %========================  CHECK THE TWO CONDITIONS   ======================
       flag1 = 0;
       if (J_mu <= J + delta*mu*f'*dJdu),
         % step 2
         if (f'*dJdu_mu >= beta*f'*dJdu),
           break
         end
       else
         % Step 3
         flag1 = 1;
         break
       end
     
       % Step 4
       b1 = mu; b2 = 2*mu; mu=2*mu; Jb1 = Jb2; Gb1 = Gb2;
     end
   
     while flag1==1,
       % Step 5
       bb = b1-b2;
       p2 = (Jb2 - Jb1 + f'*Gb1*bb) / (bb*bb);  
       p1 = f'*Gb1 -2*p2*b1;
       beta = -0.5*p1/p2;

       % Step 6
       if ( min(beta-b1, b2-beta) >= 0.1*(b2-b1) )
         mu = beta;
       else
         mu = (b1+b2)/2;
       end
   
       % Step 7
       %==============  COMPUTE PREDICTIONS FROM TIME t+N1 TO t+N2  ===============
       up_mu = up + mu*f;
       u_vec(uvi) = up_mu(upi);          % Insert updated controls
       for k=N1:N2,
         phi              = [yhat_vec(tiyh+k-1:-1:tiyh+k-min(k,na)) ; ...
                  y_vec(tiy-1:-1:tiy-max(na-k,0)) ; u_vec(tiu-d+k:-1:tiu-d+1-nb+k)];
         h1               = W1(:,1:inputs)*phi + W1(:,inputs+1);  
         y1(H_hidden,k-N1+1) = pmntanh(h1(H_hidden)); 
         y1(L_hidden,k-N1+1) = h1(L_hidden);
         yhat_vec(tiyh+k) = W2(:,1:hidden)*y1(:,k-N1+1) + W2(:,hidden+1);
       end
       
       %========================     EVALUATE CRITERION     =======================
       duvec = u_vec(tiu:tiu+Nu-1)-u_vec(tiu-1:tiu+Nu-2);
       evec  = ref(i+N1:i+N2) - yhat_vec(tiyh+N1:tiyh+N2);
       J_mu = evec'*evec + rho*(duvec'*duvec);
       
       %===========================    DETERMINE dy/du   ==========================
       for k=N1:N2,
         % tanh'(x)
         df(H_hidden)  = (1-y1(H_hidden,k-N1+1).*y1(H_hidden,k-N1+1));

         for l=0:min(k-d,Nu-2)
           imax1 = min(k-d-l,na);
           if l>=k-d-nb+1,
          if imax1>=1, 
           hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                          + W1(:,na+k-d-l+1);;
          else
              hj_vec=W1(:,na+k-d-l+1);
          end
         else
           hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)';
         end
         dY_dU(l+1,k-N1+1)  = W2(1:hidden)*(df.*hj_vec);
        end
      
      if k>=Nu
         l=Nu-1;
         imax1 = min(k-d-l,na);
         imax2 = min(k-d-Nu+2,nb);
         if imax2>1,
           if k==Nu,
             hj_vec = sum(W1(:,na+1:na+imax2)')';
           else
             hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                                                    + sum(W1(:,na+1:na+imax2)')';
           end
         else
           if k==Nu,
             hj_vec = W1(:,na+1:na+imax2);
           else
             hj_vec = W1(:,1:imax1)*dY_dU(l+1,k-N1:-1:k-imax1-N1+1)'...
                                                    + W1(:,na+1:na+imax2);
           end
         end                                    
 
         dY_dU(l+1,k-N1+1)  = W2(1:hidden)*(df.*hj_vec);
       end 
     end
       
       
       %=========================    DETERMINE dJ/du     ==========================
       dJdu_mu   = 2*(-dY_dU*evec + rho*(dUtilde_dU*duvec));
     
     
       % Step 8
       %=======================   CHECK THE TWO CONDITIONS   ======================
       if (J_mu <= J + delta*mu*f'*dJdu),
         if (f'*dJdu_mu >= beta*f'*dJdu),
           break
         end
       
         % Step 9a
         b1 = mu;
         Jb1 = J_mu;
         Gb1 = dJdu_mu;
       else
         % Step 9b
         b2 = mu;
         Jb2 = J_mu;
         Gb2 = dJdu_mu;
       end
     end  
       
     % Step 10, Accept the iteration
     J = J_mu;
     dJdu_old = dJdu;
     dJdu = dJdu_mu;
   
  
     %>>>>>>>>>>>>>>>>>>>>>>>>   UPDATE FUTURE CONTROLS   <<<<<<<<<<<<<<<<<<<<<<<<<
     up_old = up;
     up = up_mu; 
     
     
     %>>>>>>>>>>>>>>>>>>>>>>>>     CHECK STOP CONDITION     <<<<<<<<<<<<<<<<<<<<<<<
     dup = up-up_old;
     if dup'*dup < delta2,
       break;
     end 
       
       
     %>>>>>>>>>>>>>>>>>>>     BFGS UPDATE OF INVERSE HESSIAN    <<<<<<<<<<<<<<<<<<
     dG  = dJdu - dJdu_old;
     BdG = B*dG;
     dupdG = dup'*dG;
     fac = 1/dupdG;
     diff = dup - BdG;
     dupfac=dup*fac;
     diffdup = diff*(dupfac'); 
     B = B + diffdup + diffdup' - (diff'*dG)*(dupfac*dupfac');
  end


    %>>>>>>>>>>>>>>>>>>>>>>>     SELECT BEST MINIMUM     <<<<<<<<<<<<<<<<<<<<<<<<<
    if tr==1,
      Jmin_old = J;
      upmin = up;
    else
      if J<Jmin_old,
        upmin = up;
      end
    end
  end


%>>>>>>>>>>>>>>>>>>>>>>     CALCULATE CONTROL SIGANL     <<<<<<<<<<<<<<<<<<<<<<
  e = ref(i) - y;
 
  % Predictive Controller
  if strcmp(regty,'npc'),
    u=upmin(1);

  % PID controller
  elseif strcmp(regty,'pid'),
    ui = B1*e + I1;
    um = ui;
    if ui<uimin, um=uimin; end
    if ui>uimax, um=uimax; end
    u = (um-I2)*B2 + I2;
    I1 = I1 + (K*e - (ui - um))*A1;
    I2 = I2 + (um - I2)*A2;
  
  % No control
  else
     u = ref(i);
  end
  
  
 %>>>>>>>>>>>>>>>>>>>       STORE DATA IN DATA VECTORS      <<<<<<<<<<<<<<<<<<<
  u_data(i)       = u;
  y_data(i)       = y;
  yhat_data(i)    = yhat_vec(tiyh);
  t_data(i)       = t;
  e_data(i)       = J;


%>>>>>>>>>>>>>>>>>>>>>>>>>>       TIME UPDATES        <<<<<<<<<<<<<<<<<<<<<<<<<
  y_old    = shift(y_old,y);
  u_old    = shift(u_old,u);
  u_vec(uvi) = upmin(upi);
  u_vec    = [u_vec(2:length(u_vec)) ; upmin(length(up))];
  y_vec    = [y_vec(2:length(y_vec)) ; y];
  yhat_vec(1:length(yhat_vec)-1) = yhat_vec(2:length(yhat_vec));


%>>>>>>>>>>>>>>>>>>      WRITE % OF SIMULATION COMPLETED      <<<<<<<<<<<<<<<<<
  progress(fighandle,floor(100*i/samples));
end
%------------------------------------------------------------------------------
%------------------        >>>   END OF MAIN LOOP   <<<       -----------------
%------------------------------------------------------------------------------

%>>>>>>>>>>>>>>>>>>>>>>            DRAW PLOTS           <<<<<<<<<<<<<<<<<<<<<<<
figure(gcf);clf
% Plot A
  if(exist('plot_a')==1),
   [a_plots,dummy]=size(plot_a);        % Number of plots in plot A
   plmat = zeros(samples,a_plots);      % Collect vectors in plmat
   for nn = 1:a_plots, 
     plmat(:,nn) = eval(plot_a(nn,:));   
   end
   subplot(2,1,1);
   plot([0:samples-1],plmat);           % Plot plmat
   xlabel('Samples');
   set(gca,'Xlim',[0 samples-1]);       % Set x-axis
   if regty(1)=='n',
     title('Nonlinear Predictive Control');
   elseif regty(1)=='p',
     title('Constant gain PID controller');
   else
     title('Open-loop simulation');
   end
   grid on
   legend(plot_a);
  end
  
 % Plot B
  if(exist('plot_b')==1),
   [b_plots,dummy]=size(plot_b);        % Number of plots in plot B
   plmat = zeros(samples,b_plots);      % Collect vectors in plmat
   for nn = 1:b_plots, 
     plmat(:,nn) = eval(plot_b(nn,:));   
   end
   subplot(2,1,2);
   plot([0:samples-1],plmat);           % Plot plmat
   xlabel('Samples'); 
   set(gca,'Xlim',[0 samples-1]);       % Set x-axis
   grid on
   legend(plot_b);
  end
subplot(111)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清无吗v一区| 91浏览器入口在线观看| 尤物在线观看一区| 亚洲免费大片在线观看| 亚洲一区自拍偷拍| 亚洲成人综合网站| 婷婷丁香久久五月婷婷| 日韩精品欧美精品| 奇米影视7777精品一区二区| 日韩精品一级二级| 精品一区二区三区久久| 国内精品久久久久影院一蜜桃| 国内一区二区在线| 国产成人8x视频一区二区| 成人一二三区视频| 色久综合一二码| 6080yy午夜一二三区久久| 欧美成人精品3d动漫h| 国产精品丝袜黑色高跟| 悠悠色在线精品| 麻豆一区二区99久久久久| 国产精品资源在线观看| 成人性生交大片免费看中文 | 欧美一区二区三区在| 欧美一级午夜免费电影| 久久先锋资源网| 亚洲另类在线一区| 亚洲成av人片在线| 国产99精品国产| 欧美系列一区二区| 久久久无码精品亚洲日韩按摩| 国产精品国产自产拍高清av| 一区二区三区四区乱视频| 美女视频网站久久| 99国产麻豆精品| 欧美在线短视频| 日韩限制级电影在线观看| 中文字幕一区二区三| 奇米影视在线99精品| 91麻豆国产香蕉久久精品| 欧美在线色视频| 欧美va亚洲va国产综合| 亚洲欧美乱综合| 狠狠v欧美v日韩v亚洲ⅴ| 日本福利一区二区| 精品国产乱码久久久久久牛牛| 亚洲综合免费观看高清在线观看| 卡一卡二国产精品| 欧美亚洲一区二区在线| 国产精品水嫩水嫩| 国内精品久久久久影院色| 欧美性猛片xxxx免费看久爱| 国产精品女人毛片| 久久精品国内一区二区三区| 色天使色偷偷av一区二区| 久久久久国产精品麻豆ai换脸 | 欧美中文字幕一二三区视频| 精品国产污污免费网站入口| 午夜免费久久看| caoporn国产精品| 国产拍欧美日韩视频二区| 日韩高清欧美激情| 欧美日高清视频| 一区二区三区在线免费观看| 成人国产精品免费观看视频| 精品国产污污免费网站入口 | 成人午夜视频在线| 日韩女优av电影在线观看| 人人爽香蕉精品| 欧美精品99久久久**| 亚洲成人自拍一区| 欧美日韩一级片在线观看| 一区二区三区在线观看国产| 成人一区二区在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品自拍网站| 国产片一区二区| 成人黄动漫网站免费app| 国产精品蜜臀av| 色先锋久久av资源部| 一区二区三区蜜桃| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久久久久久久搜平片| 成人一二三区视频| 亚洲精品欧美综合四区| 欧美午夜精品一区二区三区| 亚洲国产成人精品视频| 91精品国产色综合久久ai换脸| 日韩精品91亚洲二区在线观看| 日韩亚洲欧美综合| 国产美女一区二区三区| 国产精品麻豆网站| 欧美在线一二三| 蜜桃av一区二区在线观看| 国产欧美精品一区二区色综合 | 日韩精品综合一本久道在线视频| 日韩av成人高清| 久久久国产综合精品女国产盗摄| 丁香婷婷深情五月亚洲| 亚洲欧美成人一区二区三区| 欧美天堂一区二区三区| 久久成人羞羞网站| 国产精品―色哟哟| 717成人午夜免费福利电影| 久久99蜜桃精品| 亚洲天堂2016| 日韩精品中文字幕一区| 成人91在线观看| 日韩电影一二三区| 中文字幕在线不卡一区| 欧美日韩高清一区二区三区| 国产一区高清在线| 一区二区三区成人| 久久久精品天堂| 欧美美女激情18p| 国产91在线|亚洲| 日韩精品国产精品| 中文字幕一区二区在线观看| 欧美一区二区三区免费观看视频 | 欧美一级一区二区| 91视频免费观看| 国产在线国偷精品产拍免费yy| 亚洲最大成人网4388xx| 国产欧美一区二区三区在线看蜜臀| 欧美日韩一区二区三区在线看| 国产成人午夜99999| 三级不卡在线观看| 日韩伦理免费电影| 久久精品人人做人人爽97| 欧美精品免费视频| 欧美系列一区二区| 色综合网色综合| 99在线精品视频| 国产精品中文字幕日韩精品| 日韩成人午夜精品| 一区二区三区成人在线视频| √…a在线天堂一区| 26uuu国产电影一区二区| 日韩三级伦理片妻子的秘密按摩| 日本道色综合久久| 成人午夜免费电影| 国产成人精品三级麻豆| 国产一区二区影院| 国模娜娜一区二区三区| 久久99精品久久久久久| 午夜欧美视频在线观看| 亚洲成av人片| 亚洲va国产va欧美va观看| 亚洲综合一区在线| 亚洲最新视频在线观看| 亚洲女同一区二区| 一区二区三区高清在线| 亚洲图片欧美综合| 亚洲一区二区视频在线| 亚洲国产精品一区二区尤物区| 亚洲精品美腿丝袜| 亚洲高清视频在线| 日一区二区三区| 美女在线观看视频一区二区| 日本不卡一二三| 日本中文字幕一区| 另类小说图片综合网| 九九精品一区二区| 国产成人综合精品三级| 东方aⅴ免费观看久久av| 成人精品电影在线观看| 99视频精品全部免费在线| aaa欧美色吧激情视频| 欧美网站一区二区| 欧美一级精品大片| 国产亚洲精品久| 一区视频在线播放| 亚洲v精品v日韩v欧美v专区| 青草av.久久免费一区| 国产成人亚洲综合a∨婷婷图片| 9久草视频在线视频精品| 欧美吻胸吃奶大尺度电影| 欧美成人一区二区| 中文字幕永久在线不卡| 亚洲一区成人在线| 精品在线亚洲视频| 91丨porny丨蝌蚪视频| 欧美日韩国产美| 国产欧美va欧美不卡在线| 亚洲一区中文日韩| 国产综合久久久久久鬼色| 色综合久久88色综合天天 | 日本aⅴ精品一区二区三区| 国产精品主播直播| 欧美日韩一区三区| 国产欧美日韩在线看| 一区二区三区电影在线播| 精品亚洲成a人| 在线中文字幕不卡| 久久先锋影音av鲁色资源网| 亚洲欧美日韩一区二区三区在线观看| 丝袜亚洲精品中文字幕一区| 丁香激情综合五月| 日韩一区二区中文字幕| 亚洲免费观看视频|