⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example8.m

📁 自适应控制的一些MATLAB例子
💻 M
📖 第 1 页 / 共 2 页
字号:
		'Initial','2',...		'position',[500,123,530,167])add_block('built-in/Switch',[sys,'/','Adaptive Law/Switch'])set_param([sys,'/','Adaptive Law/Switch'],...		'position',[445,104,475,136])add_block('built-in/Constant',[sys,'/','Adaptive Law/Constant'])set_param([sys,'/','Adaptive Law/Constant'],...		'Value','0',...		'position',[405,145,425,165])add_block('built-in/Mux',[sys,'/','Adaptive Law/Mux1'])set_param([sys,'/','Adaptive Law/Mux1'],...		'inputs','2',...		'position',[565,170,595,205])add_block('built-in/Outport',[sys,'/','Adaptive Law/theta'])set_param([sys,'/','Adaptive Law/theta'],...		'position',[645,177,670,203])%     Subsystem  'Adaptive Law/Normalization'.new_system([sys,'/','Adaptive Law/Normalization'])set_param([sys,'/','Adaptive Law/Normalization'],'Location',[41,79,584,335])add_block('built-in/Fcn',[sys,'/','Adaptive Law/Normalization/Fcn'])set_param([sys,'/','Adaptive Law/Normalization/Fcn'],...		'Expr','u(1)*u(1)+u(2)*u(2)',...		'position',[130,49,185,81])add_block('built-in/Sum',[sys,'/','Adaptive Law/Normalization/Sum2'])set_param([sys,'/','Adaptive Law/Normalization/Sum2'],...		'inputs','+-',...		'position',[220,57,240,88])add_block('built-in/Mux',[sys,'/','Adaptive Law/Normalization/Mux'])set_param([sys,'/','Adaptive Law/Normalization/Mux'],...		'inputs','2',...		'position',[70,46,100,79])add_block('built-in/Inport',[sys,'/','Adaptive Law/Normalization/u'])set_param([sys,'/','Adaptive Law/Normalization/u'],...		'position',[5,7,30,33])add_block('built-in/Inport',[sys,'/','Adaptive Law/Normalization/y'])set_param([sys,'/','Adaptive Law/Normalization/y'],...		'Port','2',...		'position',[5,87,30,113])add_block('built-in/Integrator',[sys,'/','Adaptive Law/Normalization/Integrator1'])set_param([sys,'/','Adaptive Law/Normalization/Integrator1'],...		'position',[265,50,290,100])add_block('built-in/Outport',[sys,'/','Adaptive Law/Normalization/1//m'])set_param([sys,'/','Adaptive Law/Normalization/1//m'],...		'position',[485,62,510,88])add_block('built-in/Fcn',[sys,'/','Adaptive Law/Normalization/Fcn1'])set_param([sys,'/','Adaptive Law/Normalization/Fcn1'],...		'Expr','1/(1+u(1))',...		'Mask Display','1/(1+m*m)',...		'position',[335,53,425,97])add_line([sys,'/','Adaptive Law/Normalization'],[430,75;480,75])add_line([sys,'/','Adaptive Law/Normalization'],[295,75;330,75])add_line([sys,'/','Adaptive Law/Normalization'],[245,75;260,75])add_line([sys,'/','Adaptive Law/Normalization'],[190,65;215,65])add_line([sys,'/','Adaptive Law/Normalization'],[315,75;315,140;190,140;190,80;215,80])add_line([sys,'/','Adaptive Law/Normalization'],[105,65;125,65])add_line([sys,'/','Adaptive Law/Normalization'],[35,20;50,20;50,55;65,55])add_line([sys,'/','Adaptive Law/Normalization'],[35,100;50,100;50,70;65,70])set_param([sys,'/','Adaptive Law/Normalization'],...		'Mask Display','Normalization')%     Finished composite block 'Adaptive Law/Normalization'.set_param([sys,'/','Adaptive Law/Normalization'],...		'Drop Shadow',4,...		'position',[75,290,175,345])add_block('built-in/Integrator',[sys,'/','Adaptive Law/est_a'])set_param([sys,'/','Adaptive Law/est_a'],...		'Initial','-2',...		'position',[480,224,510,266])%     Subsystem  'Adaptive Law/Modification'.new_system([sys,'/','Adaptive Law/Modification'])set_param([sys,'/','Adaptive Law/Modification'],'Location',[47,69,594,333])add_block('built-in/Product',[sys,'/','Adaptive Law/Modification/Product'])set_param([sys,'/','Adaptive Law/Modification/Product'],...		'position',[395,47,430,83])add_block('built-in/Inport',[sys,'/','Adaptive Law/Modification/theta'])set_param([sys,'/','Adaptive Law/Modification/theta'],...		'position',[20,59,50,91])add_block('built-in/Switch',[sys,'/','Adaptive Law/Modification/Switch'])set_param([sys,'/','Adaptive Law/Modification/Switch'],...		'position',[305,94,330,126])add_block('built-in/Fcn',[sys,'/','Adaptive Law/Modification/Fcn'])set_param([sys,'/','Adaptive Law/Modification/Fcn'],...		'Expr','400-u(1)*u(1)-u(2)*u(2)',...		'position',[170,94,225,126])add_block('built-in/Fcn',[sys,'/','Adaptive Law/Modification/Fcn1'])set_param([sys,'/','Adaptive Law/Modification/Fcn1'],...		'Expr','0.2*(sqrt(u(1)*u(1)+u(2)*u(2))/20-1)',...		'position',[170,139,225,171])add_block('built-in/Constant',[sys,'/','Adaptive Law/Modification/no_modification'])set_param([sys,'/','Adaptive Law/Modification/no_modification'],...		'Value','0',...		'position',[170,34,220,66])add_block('built-in/Outport',[sys,'/','Adaptive Law/Modification/switching_theta'])set_param([sys,'/','Adaptive Law/Modification/switching_theta'],...		'position',[490,50,520,80])add_line([sys,'/','Adaptive Law/Modification'],[230,110;300,110])add_line([sys,'/','Adaptive Law/Modification'],[225,50;275,50;275,100;300,100])add_line([sys,'/','Adaptive Law/Modification'],[230,155;275,155;275,120;300,120])add_line([sys,'/','Adaptive Law/Modification'],[55,75;95,75;95,110;165,110])add_line([sys,'/','Adaptive Law/Modification'],[95,105;95,155;165,155])add_line([sys,'/','Adaptive Law/Modification'],[335,110;365,110;365,75;390,75])add_line([sys,'/','Adaptive Law/Modification'],[95,75;95,20;365,20;365,55;390,55])add_line([sys,'/','Adaptive Law/Modification'],[435,65;485,65])set_param([sys,'/','Adaptive Law/Modification'],...		'Mask Display','Switching-Sigma')%     Finished composite block 'Adaptive Law/Modification'.set_param([sys,'/','Adaptive Law/Modification'],...		'orientation',2,...		'Drop Shadow',4,...		'position',[220,25,355,95])add_line([sys,'/','Adaptive Law'],[430,245;475,245])add_line([sys,'/','Adaptive Law'],[215,60;180,60;190,135])add_line([sys,'/','Adaptive Law'],[30,115;55,115;55,160;75,160])add_line([sys,'/','Adaptive Law'],[270,160;275,160])add_line([sys,'/','Adaptive Law'],[535,145;535,190;490,190])add_line([sys,'/','Adaptive Law'],[440,190;395,190;395,120;440,120])add_line([sys,'/','Adaptive Law'],[430,155;440,130])add_line([sys,'/','Adaptive Law'],[335,150;345,150;355,110])add_line([sys,'/','Adaptive Law'],[155,175;180,175;190,165])add_line([sys,'/','Adaptive Law'],[155,145;180,145;190,150])add_line([sys,'/','Adaptive Law'],[535,145;550,145;560,180])add_line([sys,'/','Adaptive Law'],[515,245;550,245;560,195])add_line([sys,'/','Adaptive Law'],[30,210;45,210;45,140;75,140])add_line([sys,'/','Adaptive Law'],[45,210;45,330;70,330])add_line([sys,'/','Adaptive Law'],[180,320;190,180])add_line([sys,'/','Adaptive Law'],[335,170;345,170;345,245;390,245])add_line([sys,'/','Adaptive Law'],[395,110;440,110])add_line([sys,'/','Adaptive Law'],[600,190;640,190])add_line([sys,'/','Adaptive Law'],[615,190;615,60;360,60])add_line([sys,'/','Adaptive Law'],[615,190;615,285;65,285;75,180])add_line([sys,'/','Adaptive Law'],[480,120;485,120;495,145])add_line([sys,'/','Adaptive Law'],[55,160;70,305])set_param([sys,'/','Adaptive Law'],...		'Mask Display','Adaptation')%     Finished composite block 'Adaptive Law'.set_param([sys,'/','Adaptive Law'],...		'Drop Shadow',4,...		'position',[345,124,455,186])%     Subsystem  'Controller'.new_system([sys,'/','Controller'])set_param([sys,'/','Controller'],'Location',[4,58,534,353])add_block('built-in/Inport',[sys,'/','Controller/p0'])set_param([sys,'/','Controller/p0'],...		'Port','3',...		'position',[30,172,55,198])add_block('built-in/Gain',[sys,'/','Controller/Gain'])set_param([sys,'/','Controller/Gain'],...		'Gain','2',...		'position',[145,157,175,183])add_block('built-in/Sum',[sys,'/','Controller/Sum1'])set_param([sys,'/','Controller/Sum1'],...		'inputs','-+',...		'position',[205,161,230,194])add_block('built-in/Transfer Fcn',[sys,'/','Controller/Transfer Fcn1'])set_param([sys,'/','Controller/Transfer Fcn1'],...		'Denominator','[1 2]',...		'position',[180,72,215,108])add_block('built-in/Product',[sys,'/','Controller/Product1'])set_param([sys,'/','Controller/Product1'],...		'position',[275,92,305,123])add_block('built-in/Transfer Fcn',[sys,'/','Controller/Transfer Fcn'])set_param([sys,'/','Controller/Transfer Fcn'],...		'orientation',2,...		'Numerator','[2]',...		'Denominator','[1 2]',...		'position',[360,147,395,183])add_block('built-in/Outport',[sys,'/','Controller/out_1'])set_param([sys,'/','Controller/out_1'],...		'position',[465,96,490,124])add_block('built-in/Inport',[sys,'/','Controller/p1'])set_param([sys,'/','Controller/p1'],...		'Port','2',...		'position',[30,97,55,123])add_block('built-in/Sum',[sys,'/','Controller/Sum'])set_param([sys,'/','Controller/Sum'],...		'inputs','--+',...		'position',[365,92,385,128])add_block('built-in/Product',[sys,'/','Controller/Product'])set_param([sys,'/','Controller/Product'],...		'position',[185,24,215,51])add_block('built-in/Inport',[sys,'/','Controller/error'])set_param([sys,'/','Controller/error'],...		'position',[30,17,55,43])add_line([sys,'/','Controller'],[390,110;460,110])add_line([sys,'/','Controller'],[390,110;435,110;435,165;400,165])add_line([sys,'/','Controller'],[355,165;320,165;320,120;360,120])add_line([sys,'/','Controller'],[60,30;180,30])add_line([sys,'/','Controller'],[60,110;150,110;150,45;180,45])add_line([sys,'/','Controller'],[60,185;200,185])add_line([sys,'/','Controller'],[180,170;200,170])add_line([sys,'/','Controller'],[220,40;340,40;340,100;360,100])add_line([sys,'/','Controller'],[310,110;360,110])add_line([sys,'/','Controller'],[125,30;125,90;175,90])add_line([sys,'/','Controller'],[125,110;125,170;140,170])add_line([sys,'/','Controller'],[220,90;250,90;250,100;270,100])add_line([sys,'/','Controller'],[235,180;250,180;250,115;270,115])set_param([sys,'/','Controller'],...		'Mask Display','Controller')%     Finished composite block 'Controller'.set_param([sys,'/','Controller'],...		'orientation',2,...		'Drop Shadow',4,...		'position',[190,239,265,291])%     Subsystem  'C-parameters'.new_system([sys,'/','C-parameters'])set_param([sys,'/','C-parameters'],'Location',[239,163,576,360])add_block('built-in/Outport',[sys,'/','C-parameters/p_0'])set_param([sys,'/','C-parameters/p_0'],...		'Port','2',...		'position',[275,109,305,141])add_block('built-in/Fcn',[sys,'/','C-parameters/Fcn1'])set_param([sys,'/','C-parameters/Fcn1'],...		'Expr','1/u(1)',...		'position',[185,109,240,141])add_block('built-in/Fcn',[sys,'/','C-parameters/Fcn'])set_param([sys,'/','C-parameters/Fcn'],...		'Expr','(2-u(2))/u(1)',...		'position',[185,52,240,88])add_block('built-in/Outport',[sys,'/','C-parameters/p1'])set_param([sys,'/','C-parameters/p1'],...		'position',[275,54,305,86])add_block('built-in/Inport',[sys,'/','C-parameters/theta'])set_param([sys,'/','C-parameters/theta'],...		'position',[60,79,90,111])add_line([sys,'/','C-parameters'],[245,70;270,70])add_line([sys,'/','C-parameters'],[245,125;270,125])add_line([sys,'/','C-parameters'],[95,95;140,95;140,125;180,125])add_line([sys,'/','C-parameters'],[140,95;140,70;180,70])set_param([sys,'/','C-parameters'],...		'Mask Display','Controller\nparameter\ncalculation')%     Finished composite block 'C-parameters'.set_param([sys,'/','C-parameters'],...		'orientation',2,...		'Drop Shadow',4,...		'position',[350,235,455,295])add_block('built-in/To Workspace',[sys,'/','To Workspace'])set_param([sys,'/','To Workspace'],...		'mat-name','yout',...		'position',[535,88,605,122])add_block('built-in/Mux',[sys,'/','Mux'])set_param([sys,'/','Mux'],...		'inputs','2',...		'position',[470,85,500,125])add_block('built-in/Clock',[sys,'/','Clock'])set_param([sys,'/','Clock'],...		'orientation',1,...		'position',[445,25,465,45])%     Subsystem  'Text'.new_system([sys,'/','Text'])set_param([sys,'/','Text'],'Location',[169,65,608,511])add_block('built-in/Note',[sys,'/',['Text/3) The parameter for the switching-sigmal modification',13,'in the Adaptation//Modification block']])set_param([sys,'/',['Text/3) The parameter for the switching-sigmal modification',13,'in the Adaptation//Modification block']],...		'position',[200,330,205,335])add_block('built-in/Note',[sys,'/',['Text/2) The normalization parameter in the Adaptation//Normalization',13,'block']])set_param([sys,'/',['Text/2) The normalization parameter in the Adaptation//Normalization',13,'block']],...		'position',[230,290,235,295])add_block('built-in/Note',[sys,'/','Text/1) The adaptive gains in the Adaptation block'])set_param([sys,'/','Text/1) The adaptive gains in the Adaptation block'],...		'position',[170,260,175,265])add_block('built-in/Note',[sys,'/',['Text/You can also change the following parameters',13,' of the adaptive controller to see how they affect',13,'the overall control performance:',13,'']])set_param([sys,'/',['Text/You can also change the following parameters',13,' of the adaptive controller to see how they affect',13,'the overall control performance:',13,'']],...		'position',[180,190,185,195])add_block('built-in/Note',[sys,'/',['Text/To see the effects of unmodeled dynamics on the ',13,'performance of the closed loop adaptive control ',13,'scheme, change the parameter mu']])set_param([sys,'/',['Text/To see the effects of unmodeled dynamics on the ',13,'performance of the closed loop adaptive control ',13,'scheme, change the parameter mu']],...		'position',[185,130,190,135])add_block('built-in/Note',[sys,'/',['Text/The switching sigma modification and projection',13,'algorithm are used. Please refer to Chapter 9',13,'of the textbook for details of the problem and algorithm.']])set_param([sys,'/',['Text/The switching sigma modification and projection',13,'algorithm are used. Please refer to Chapter 9',13,'of the textbook for details of the problem and algorithm.']],...		'position',[195,70,200,75])add_block('built-in/Note',[sys,'/',['Text/This program simulates the robust pole placement',13,'adaptive control scheme for a first order plant with',13,'unmodeled dynamics discussed in Example 9.5.1.',13,' ']])set_param([sys,'/',['Text/This program simulates the robust pole placement',13,'adaptive control scheme for a first order plant with',13,'unmodeled dynamics discussed in Example 9.5.1.',13,' ']],...		'position',[195,0,200,5])set_param([sys,'/','Text'],...		'Mask Display','Double click here\nfor help to run\nthe simulation')%     Finished composite block 'Text'.set_param([sys,'/','Text'],...		'Drop Shadow',4,...		'position',[432,332,575,411])add_block('built-in/Constant',[sys,'/','Tracking Sigmal'])set_param([sys,'/','Tracking Sigmal'],...		'Mask Display','Constant',...		'position',[40,46,115,94])add_line(sys,[185,265;110,265;110,140;145,140])add_line(sys,[460,155;470,155;460,265])add_line(sys,[455,50;465,95])add_line(sys,[505,105;530,105])add_line(sys,[120,70;265,70])add_line(sys,[75,165;145,165])add_line(sys,[305,80;355,80])add_line(sys,[315,80;315,250;270,250])add_line(sys,[230,155;305,155;305,140;340,140])add_line(sys,[110,195;305,195;305,170;340,170])add_line(sys,[250,155;250,90;265,90])add_line(sys,[345,250;325,250;325,265;270,265])add_line(sys,[345,280;270,280])add_line(sys,[305,140;305,115;465,115])drawnow% Return any arguments.if (nargin | nargout)	% Must use feval here to access system in memory	if (nargin > 3)		if (flag == 0)			eval(['[ret,x0,str,ts,xts]=',sys,'(t,x,u,flag);'])		else			eval(['ret =', sys,'(t,x,u,flag);'])		end	else		[ret,x0,str,ts,xts] = feval(sys);	endelse	drawnow % Flash up the model and execute load callbackend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -