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

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

?? fmrlc_tanker.m

?? 一個用MATLAB編寫的優化控制工具箱
?? M
?? 第 1 頁 / 共 3 頁
字號:
% at +-80 degreesif delta(index) >= 80*(pi/180), delta(index)=80*(pi/180); endif delta(index) <= -80*(pi/180), delta(index)=-80*(pi/180); end% The next line is used in place of the line following it to% change the speed of the shipif t>=1000000,%if t>=9000,      % This switches the ship speed (unrealistically fast)u=3; % A lower speedelseu=5;end% Next, we change the parameters of the ship to tanker to reflect% changing loading conditions (note that we simulate as if% the ship is loaded while moving, but we only change the parameters% while the heading is zero so that it is then similar to re-running% the simulation, i.e., starting the tanker operation at different % times after loading/unloading has occurred).% The next line is used in place of the line following it to keep% "ballast" conditions throughout the simulationif t>=1000000,%if t>=9000,      % This switches the parameters in the middle of the simulationK_0=0.83;  		% These are the parameters under "full" conditionstau_10=-2.88;tau_20=0.38;tau_30=1.07;elseK_0=5.88;		% These are the parameters under "ballast" conditionstau_10=-16.91;tau_20=0.45;tau_30=1.43;end% The following parameters are used in the definition of the tanker model:K=K_0*(u/ell);tau_1=tau_10*(ell/u);tau_2=tau_20*(ell/u);tau_3=tau_30*(ell/u);% Now, for the first step, we set the initial condition for the% third state x(3).if t==0, x(3)=-(K*tau_3/(tau_1*tau_2))*delta(index); end% Next, we use the formulas to implement the Runge-Kutta methodF=[ x(2) ;    x(3)+ (K*tau_3/(tau_1*tau_2))*delta(index) ;    -((1/tau_1)+(1/tau_2))*(x(3)+ (K*tau_3/(tau_1*tau_2))*delta(index))-...        (1/(tau_1*tau_2))*(abar*x(2)^3 + bbar*x(2)) + (K/(tau_1*tau_2))*delta(index) ];        	k1=step*F;	xnew=x+k1/2;F=[ xnew(2) ;    xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index) ;    -((1/tau_1)+(1/tau_2))*(xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index))-...        (1/(tau_1*tau_2))*(abar*xnew(2)^3 + bbar*xnew(2)) + (K/(tau_1*tau_2))*delta(index) ];   	k2=step*F;	xnew=x+k2/2;F=[ xnew(2) ;    xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index) ;    -((1/tau_1)+(1/tau_2))*(xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index))-...        (1/(tau_1*tau_2))*(abar*xnew(2)^3 + bbar*xnew(2)) + (K/(tau_1*tau_2))*delta(index) ];   	k3=step*F;	xnew=x+k3;F=[ xnew(2) ;    xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index) ;    -((1/tau_1)+(1/tau_2))*(xnew(3)+ (K*tau_3/(tau_1*tau_2))*delta(index))-...        (1/(tau_1*tau_2))*(abar*xnew(2)^3 + bbar*xnew(2)) + (K/(tau_1*tau_2))*delta(index) ];   	k4=step*F;	x=x+(1/6)*(k1+2*k2+2*k3+k4); % Calculated next statet=t+step;  			% Increments timeindex=index+1;	 	% Increments the indexing term so that 					% index=1 corresponds to time t=0.counter=counter+1;	% Indicates that we computed one more integration stepend % This end statement goes with the first "while" statement     % in the program so when this is complete the simulation is done.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Next, we provide plots of data from the simulation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% First, we convert from rad. to degreespsi_r=psi_r*(180/pi);psi=psi*(180/pi);delta=delta*(180/pi);e=e*(180/pi);c=c*(180/pi);ym=ym*(180/pi);ye=ye*(180/pi);% Next, we provide plots figure(1)clfsubplot(311)plot(time,psi,'k-',time,ym,'k--',time,psi_r,'k-.')zoomgrid ontitle('Ship heading (solid) and desired ship heading (dashed), deg.')subplot(312)plot(time,delta,'k-')zoomgrid ontitle('Rudder angle, output of fuzzy controller (input to the ship), deg.')subplot(313)plot(time,p,'k-')zoomgrid onxlabel('Time (sec)')title('Fuzzy inverse model output (nonzero values indicate adaptation)')figure(2)clfsubplot(211)plot(time,e,'k-')zoomgrid ontitle('Ship heading error between ship heading and desired heading, deg.')subplot(212)plot(time,c,'k-')zoomgrid onxlabel('Time (sec)')title('Change in ship heading error, deg./sec')figure(3)clfsubplot(211)plot(time,ye,'k-')zoomgrid ontitle('Ship heading error between ship heading and reference model heading, deg.')subplot(212)plot(time,yc,'k-')zoomgrid onxlabel('Time (sec)')title('Change in heading error between output and reference model, deg./sec')end % This ends the if statement (on flag1) on whether you want to do a simulation    % or just see the control surface	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Next, provide a plot of the fuzzy controller surface:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Request input from the user to see if they want to see the tuned% controller mapping:flag2=input('Do you want to see the nonlinear \n mapping implemented by the tuned fuzzy \n controller? \n (type 1 for yes and 0 for no) ');if flag2==1,	% First, compute vectors with points over the whole range of % the fuzzy controller inputs plus 20% over the end of the range% and put 100 points in each vectore_input=(-(1/g1)-0.2*(1/g1)):(1/100)*(((1/g1)+0.2*(1/g1))-(-(1/g1)-...     0.2*(1/g1))):((1/g1)+0.2*(1/g1)); ce_input=(-(1/g2)-0.2*(1/g2)):(1/100)*(((1/g2)+0.2*(1/g2))-(-(1/g2)-...     0.2*(1/g2))):((1/g2)+0.2*(1/g2));% Next, compute the fuzzy controller output for all these inputsfor jj=1:length(e_input) 	for ii=1:length(ce_input) c_count=0;,e_count=0;   % These are used to count the number of 						% non-zero mf certainities of e and c% The following if-then structure fills the vector mfe % with the certainty of each membership fucntion of e for the % current input e.  We use triangular membership functions.	if e_input(jj)<=ce(1)		% Takes care of saturation of the left-most 					            % membership function         mfe=[1 0 0 0 0 0 0 0 0 0 0]; % i.e., the only one on is the          							  % left-most one	 e_count=e_count+1;,e_int=1; 	  %  One mf on, it is the 	 								  % left-most one.	elseif e_input(jj)>=ce(nume)				  % Takes care of saturation 									  % of the right-most mf	 mfe=[0 0 0 0 0 0 0 0 0 0 1];	 e_count=e_count+1;,e_int=nume; % One mf on, it is the 	 								% right-most one	else      % In this case the input is on the middle part of the 			  % universe of discourse for e			  % Next, we are going to cycle through the mfs to 			  % find all that are on	   for i=1:nume		 if e_input(jj)<=ce(i)		  mfe(i)=max([0 1+(e_input(jj)-ce(i))/we]);   		  				% In this case the input is to the 		  				% left of the center ce(i) and we compute						% the value of the mf centered at ce(i)						% for this input e			if mfe(i)~=0					% If the certainty is not equal to zero then say 				% that have one mf on by incrementing our count			 e_count=e_count+1;			 e_int=i;	% This term holds the index last entry 			 			% with a non-zero term			end		 else 		  mfe(i)=max([0,1+(ce(i)-e_input(jj))/we]); 		  						% In this case the input is to the		  						% right of the center ce(i)			if mfe(i)~=0			 e_count=e_count+1;   			 e_int=i;  % This term holds the index of the 			 		   % last entry with a non-zero term			end		 end		end	end% The following if-then structure fills the vector mfc with the % certainty of each membership fucntion of the c% for its current value.	if ce_input(ii)<=cc(1)	% Takes care of saturation of left-most mf         mfc=[1 0 0 0 0 0 0 0 0 0 0];	 c_count=c_count+1;	 c_int=1;   	elseif ce_input(ii)>=cc(numc)					        % Takes care of saturation of the right-most mf	 mfc=[0 0 0 0 0 0 0 0 0 0 1];	 c_count=c_count+1; 	 c_int=numc;	else		for i=1:numc		 if ce_input(ii)<=cc(i)  		  mfc(i)=max([0,1+(ce_input(ii)-cc(i))/wc]);			if mfc(i)~=0			 c_count=c_count+1;			 c_int=i;  	    % This term holds last entry 			 		     	% with a non-zero term			end		 else 		  mfc(i)=max([0,1+(cc(i)-ce_input(ii))/wc]);			if mfc(i)~=0			 c_count=c_count+1;			 c_int=i;	% This term holds last entry 			 			% with a non-zero term			end		 end		end	end% The next loops calculate the crisp output using only the non-% zero premise of error,e, and c.  num=0;den=0;     	for k=(e_int-e_count+1):e_int  						% Scan over e indices of mfs that are on		for l=(c_int-c_count+1):c_int							% Scan over c indices of mfs that are on		  prem=min([mfe(k) mfc(l)]); 		  				% Value of premise membership function% This next calculation of num adds up the numerator for the % center of gravity defuzzification formula. 		  num=num+rules(k,l)*base*(prem-(prem)^2/2);		  den=den+base*(prem-(prem)^2/2);		% To do the same computations, but for center-average defuzzification,% use the following lines of code rather than the two above:%		num=num+rules(k,l)*prem;%		den=den+prem;		end	end   delta_output(ii,jj)=num/den;      			% Crisp output of fuzzy controller that is the input   			% to the plant.				endend% Convert from radians to degrees:delta_output=delta_output*(180/pi);e_input=e_input*(180/pi);ce_input=ce_input*(180/pi);% Plot the datafigure(4)clfsurf(e_input,ce_input,delta_output);view(145,30);colormap(white);xlabel('Heading error (e), deg.');ylabel('Change in heading error (c), deg.');zlabel('Fuzzy controller output (\delta), deg.');title('FMRLC-tuned fuzzy controller mapping between inputs and output');% Next, print out to the screen the rule base (output centers)rulesend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of program %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品蜜臀在线一区尤物| 日韩三级免费观看| 国产精品77777| 国产精品资源网| 国内成人精品2018免费看| 毛片基地黄久久久久久天堂| 午夜视频一区二区| 舔着乳尖日韩一区| 日本亚洲视频在线| 日本aⅴ免费视频一区二区三区| 午夜精品一区二区三区三上悠亚| 日韩精品一级二级 | 欧美日韩黄视频| 欧美丝袜自拍制服另类| 欧美三级视频在线| 欧美酷刑日本凌虐凌虐| 精品少妇一区二区三区| 亚洲国产精品高清| 一区二区三区在线视频播放| 日韩精品福利网| 国产剧情av麻豆香蕉精品| 国产成人av电影在线观看| 91免费国产在线观看| 欧美日韩国产电影| 久久久久高清精品| 亚洲人成网站在线| 麻豆国产一区二区| 99久久精品国产精品久久| 欧美视频一区二区| 精品国产第一区二区三区观看体验 | 免费在线视频一区| 国产一区二区三区免费在线观看| 成人一区二区三区中文字幕| 欧美影院精品一区| 久久久精品天堂| 亚洲午夜久久久久久久久电影院 | 国产成人免费av在线| 91麻豆精品秘密| 精品1区2区在线观看| 亚洲综合网站在线观看| 久久超级碰视频| 欧美在线免费播放| 久久网站热最新地址| 五月婷婷色综合| 成人av电影免费观看| 日韩欧美国产精品一区| 中文字幕日韩精品一区| 久久国产乱子精品免费女| 一本色道a无线码一区v| 2014亚洲片线观看视频免费| 午夜伦欧美伦电影理论片| 色综合久久中文综合久久97| 久久久影院官网| 久久精品国产网站| 精品视频1区2区| 亚洲视频一二区| 国产精品一区二区久久精品爱涩| 欧美日韩一区不卡| 亚洲欧美一区二区不卡| 国产麻豆精品在线| 日韩视频免费直播| 91 com成人网| 国产日韩精品一区二区三区| 日本va欧美va欧美va精品| 欧美日韩你懂的| 亚洲一区在线观看网站| 色8久久精品久久久久久蜜| 国产精品电影一区二区| 懂色av一区二区夜夜嗨| 久久久99久久| 成人一区二区三区视频| 国产香蕉久久精品综合网| 国产在线视频一区二区三区| 精品播放一区二区| 国模冰冰炮一区二区| 久久精品视频一区| 国产精品一区久久久久| 国产亚洲成aⅴ人片在线观看 | 日韩视频免费观看高清完整版 | 精品一区二区三区在线播放视频| 欧美日韩一区二区三区四区五区| 一区二区三区免费观看| 99在线热播精品免费| 国产精品的网站| 91蝌蚪porny九色| 亚洲小说欧美激情另类| 欧美丰满少妇xxxxx高潮对白| 五月综合激情婷婷六月色窝| 日韩午夜电影在线观看| 国产成人在线色| 国产精品一二三四五| 国产精品福利在线播放| 99热精品国产| 亚洲一区在线观看免费 | 久久久久久一二三区| 国产宾馆实践打屁股91| 国产精品久久久久久户外露出| 色综合久久中文综合久久牛| 天堂在线一区二区| 精品区一区二区| 91麻豆国产福利在线观看| 亚洲国产aⅴ天堂久久| 26uuuu精品一区二区| av一区二区三区四区| 午夜av一区二区三区| 久久精品亚洲国产奇米99| 99国产一区二区三精品乱码| 日日噜噜夜夜狠狠视频欧美人| 精品av综合导航| 欧美中文字幕一区| 国产精品一卡二卡| 一区二区三区91| 久久精品日韩一区二区三区| 色拍拍在线精品视频8848| 另类调教123区| 亚洲免费观看高清完整版在线观看| 欧美一级搡bbbb搡bbbb| 北条麻妃国产九九精品视频| 日本亚洲三级在线| 中文字幕日韩av资源站| 久久综合久久久久88| 欧美系列日韩一区| av亚洲精华国产精华| 久久不见久久见中文字幕免费| 亚洲精选在线视频| 久久久久久亚洲综合| 日韩一区二区三区精品视频 | 日本视频免费一区| 亚洲欧美视频一区| 26uuu国产在线精品一区二区| 欧美日韩中文国产| 91老司机福利 在线| 国产99久久久久| 国产一区二区三区久久久| 五月天网站亚洲| 亚洲男帅同性gay1069| 中文一区一区三区高中清不卡| 日韩欧美成人午夜| 3d动漫精品啪啪| 欧美三级中文字幕在线观看| 91视频在线观看| 99re这里只有精品视频首页| 成人av午夜电影| 粉嫩av一区二区三区| 国产精品99精品久久免费| 久久99久久久久| 精品一区二区三区影院在线午夜| 丝袜美腿一区二区三区| 午夜亚洲福利老司机| 亚洲成人一二三| 日韩精品电影在线观看| 蜜臀91精品一区二区三区 | 中文字幕国产精品一区二区| 久久久99精品免费观看| 国产肉丝袜一区二区| 中文字幕不卡的av| 国产精品久久久久久久浪潮网站| 日本一区免费视频| 中文字幕亚洲一区二区av在线 | 欧美在线短视频| 欧美日韩www| 91麻豆精品国产91久久久久| 日韩欧美一区二区在线视频| 精品不卡在线视频| 国产亚洲欧美日韩俺去了| 欧美韩国一区二区| 亚洲丝袜精品丝袜在线| 一级做a爱片久久| 日韩国产精品久久久| 韩日av一区二区| 99re免费视频精品全部| 91豆麻精品91久久久久久| 91精品国产综合久久精品图片| 日韩欧美中文一区二区| 国产精品网曝门| 亚洲福利视频一区| 国产在线精品免费| 91蜜桃免费观看视频| 欧美久久久影院| 日本一区二区综合亚洲| 亚洲国产人成综合网站| 韩国精品久久久| 欧美优质美女网站| 2014亚洲片线观看视频免费| 一区二区三区在线视频观看 | 国产盗摄一区二区| 一本到一区二区三区| 欧美一区三区二区| 欧美激情一区二区三区四区| 视频一区欧美精品| 高清成人免费视频| 欧美日韩视频在线第一区 | 欧美日韩国产三级| 国产亚洲精品bt天堂精选| 亚洲自拍欧美精品| 国产一区在线观看麻豆| 欧美吻胸吃奶大尺度电影 | 91在线免费播放| 欧美成人艳星乳罩| 亚洲一级二级三级|