程序1%using pole placement-Ackermann%Modellinga=[0 1.0000 0 0;0 -0.1818 2.6727 0;0 0 0 1.0000;0 -0.4545 31.1818 0];b=[0;1.8182;0;4.5455];c=[1 0 0 0;0 0 1 0];d=[0;0];%Check the controllabilitydisp('The rank of controllability matrix')rc=rank(ctrb(a,b))%Designp=[-7.4527+9.666j,-7.4527-9.666j ,-3.1538+1.8334j, -3.1538-1.8334j]k=acker(a,b,p),x0=[0.2,0,0,0]%The close loop state system is denoted as (ac,b,c,d)ac=[a-b*k ];t=0:0.005:3;figureinitial(ac,b,c,d,x0,t)title(' initial respond of inverted pendulum system ')xlabel('Sec')ylabel('Output y=x3')figure[y,x,t]=initial(ac,b,c,d,x0,t);plot(t,x,'y')figure,x1=[1 0 0 0]*x',plot(t,x1);grid;title('x1的响应曲线') 程序2a=[0 1.0000 0 0;0 -0.1818 2.6727 0;0 0 0 1.0000;0 -0.4545 31.1818 0];b=[0;1.8182;0;4.5455];c=[1 0 0 0;0 0 1 0];d=[0;0];eig(a)Qc=ctrb(a,b);Rc=rank(Qc)if (Rc==4) disp('状态完全能控')else disp('状态不完全能控')endQo=obsv(a,c);Ro=rank(Qo)if( Ro==4) disp('状态完全能观测')else disp('状态不完全能观测')endQ=[25 0 0 0;0 0 0 0;0 0 81 0;0 0 0 0];R=1; K=lqr(a,b,Q,R);x0=[0.2,0,0,0];ac=[(a-b*K)];bc=[b];cc=[c];dc=[d];[K,P,e]=lqr(a,b,Q,R),t=0:0.005:7;figure initial(ac,b,c,d,x0)title('step respond of inverted pendulum system ')xlabel('Sec')ylabel('Output y=x3')figure[y,x,t]=initial(ac,bc,cc,dc,x0,t);plot(t,x,'y')figure,x1=[1 0 0 0]*x',plot(t,x1);grid;title('x1的响应曲线') 怎么样才能把这两个程序的XI 显示在一张图上
怎么把MATLAB\/simulink的仿真结果合并在一个图里
1、打开电脑,进入电脑的主页面,打开软件,进入软件的主页,如下图所示。2、进入软件之后,要把两张图放在一张图上,就会看到以下画面,可以使用hold on 语句,就如下图所示一样。3、这样用上面的hold on 语句之后,这样画一个图形之后,继续画第二个,就会看到两张图在一个画面中了。
在matlab中怎么将几条拟合好的曲线放在同一个图中?
在matlab中将几条拟合好的曲线放在同一个图中的方法是:老版本的cftool可以直接点击“newfit” 导入数据并在同一幅图里拟合,如果你的matlab比较新,就用 cftool-v1 打开老版本的cftool。MATLAB的介绍是:MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的...
matlab如何让不同alpha取值的仿真图显示在一个图上
在画完一张图后,加一条hold on语句,再画第二张图,以此类推,就可以在一张图上花画多条曲线,另外可以通过代码设置成不同颜色或者线形加以区分
急求MATLAB高手指导 如何把两个MATLAB SIMULINK 系统仿真结果波形图 合 ...
在示波器上双击左键,打开波形输出图,图形上也只是显示一个波形。在波形图上方图标栏上,左键单击第二个图标,打开了“scope parameters”,在general栏中找到number of axes,其后的数字就是示波器的输入信号数目,更改其后的数字就能相应更改信号数目。将其更改为2 再次回到model中看看示波器,就会有两个信...
matlab\\simulink中,有几个不同的仿真图,然后怎么把示波器的图形集中到...
除了使用MUX模块将信号汇总到总线以外,可以选择在总线的引出端加上workspace模块,或者还有一种更简单的方法,直接双击示波器后,找到'Scope'parameter选项卡(第一排从左到右第二个),选择Data history选项,在下面勾选'Save Data to workspace',然后运行仿真,就可以找到名为ScopeData的工作空间结构体名...
在SIMULINK中如何将两个xy graph输出显示在一个图中
选中xy Graph,然后点鼠标右键,点look under mask会看到他其实是用sfunxy来画图,你用edit sfunxy打开这个s函数里面找到function FigHandle=CreateSfunXYFigure(359行)在360行,你会发现一些图形的设置,将其中的'Menubar', 'none',...那一行去掉,运行出来的图也带有菜单,当中也会有copy figure...
matlab编程:怎么把simulink仿真的mdl文件中的多个输出多个示波器的图 ...
很简单啊。插入一个signal routing 中的MUX模块就可以了啊。双击该模块后可以进行设置。可以同时输入很多个信号,并以不同颜色曲线表示。
请教大神,如何在MATLAB中用imshow合并两张或者多张图片?
下载文件:a_20130914113119.m|用cat函数,查帮助cat是连接两个矩阵的。把a.m文件直接放在附件1文件夹里直接运行,这是批量读入图像从matlab论坛找的,调试通过
MATLAB-simulink 的仿真实验中,怎样将仿真结果中的多个曲线,同时画出...
先在仿真前,设置好数据保存到workspace,接着仿真,最后利用plot语句将数据画出来。多个曲线的画法如下:1.在两个plot之间,加一个hold on语句 2.例如:plot(x1,y1,'r',x2,y2,'b')3.plotyy:绘制双纵坐标图。调用格式 plotyy(X1,Y1,X2,Y2):4.subplot :同一窗口下划分几个子窗口绘制图形。
matlab\/simulink仿真完之后输出一个scope,改变参数后再输出一个scope...
方法1:将你的仿真复制一下,再粘贴回去,将其中一个仿真中参数修改,两个仿真输出的信号用mux连接到同一个scope里面。这是最简单有效的方法。方法2:a.按照参考资料的方法(1、2)将两个仿真的结果保存参数于workspace里面(注意要保存clock时间),两者的变量名请勿一样,比如(t,x) (t1,x1)等等,...