求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上?

关注:194  答案:5  手机版

解决时间 2021-02-10 14:48

提问者终究是陌生了

2021-02-09 16:38

程序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 显示在一张图上

最佳答案

二级知识专家暖心欧巴

2021-02-09 17:11

既然小编提到我了,我就好好看了一下程序,因为不确定画的其他图像是否有用,所以没删。最后一张图满足要求,修改如下:

a=[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 controllability

disp('The rank of controllability matrix')

rc=rank(ctrb(a,b))

%Design

p=[-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;

figure

initial(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的响应曲线')

T=t;

X1=x1; % 后面用

a=[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('状态不完全能控')

end

Qo=obsv(a,c);Ro=rank(Qo)

if( Ro==4)    disp('状态完全能观测')

else    disp('状态不完全能观测')

end

Q=[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',

hold on

plot(T,X1,'r');

plot(t,x1);

grid;

title('x1的响应曲线')

legend   程序1的响应曲线  程序2的响应曲线两张图时间轴不一般长,但能画。需要的就是最后一张图,如下:

全部回答

1楼一个狠有粪量的人

2021-02-09 19:26

使用hold on 命令

2楼何必执着

2021-02-09 18:44

很简单啊,用figure

plot(a,b);

figure;

plot(x,y);

3楼雨落轻尘

2021-02-09 17:27

hold on,在两句画图之间加一句这个代码。

4楼清酒孤欢

2021-02-09 17:22

很简单,

plot(y1);

hold on;

plot(y2);

这样就能显示在一张图上了,赶快试试吧。

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

matlab两个曲线的名称怎么显示出来的,求MATLAB的高手,怎么把两张仿真曲线合并显示在一张图上?...相关推荐

  1. 【时钟识别】基于matlab GUI Hough变换指针式时钟识别【含Matlab源码 2085期】

    ⛄一.简介 1 仪表示数识别流程 基于刻度准确定位的指针式仪表示数识别方法包括预处理.指针检测.刻度定位.油位计表盘中心拟合与仪表读数计算5个部分.该方法无需预先添加任何表盘信息,算法流程如图2所示. ...

  2. matlab在一张图上画两条折线图,excel2013怎么在一张曲线图上绘制多条曲线?

    office软件每年的更新速度很快,虽然更新后的版本肯定能够实现更新前的功能,但是由于版式方面的改进,使得使用者初次使用时不是特别得心应手.下面重点讲述一下,如何利用excel2013在同一张图中做多 ...

  3. MATLAB将两条曲线画在同一个图上

    在MATLAB中将两条曲线画在同一个图上,如果直接采用下面的代码,那么画的第二个图会将第一个图覆盖 plot(x,p1,'LineWidth',2); plot(x,p2,'LineWidth',2) ...

  4. matlab绘制曲线y=x3 x 1程序,[转载]Matlab绘图操作(1)

    1 二维数据曲线图 1.1 绘制单根二维曲线 plot函数的基本调用格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据. 例1 在0≤x≤2p区间内,绘制曲线 y= ...

  5. 如何用matlab画道路,MATLAB中如何将多条曲线画在一张图上

    在用MATLAB处理数据时,有时候,为了几组不同数据之间的对比,我们需要将几组数据对应的曲线画在一张图上,该怎么处理呢? 首先,我们随机产生三组范围不同的数据,数据量都为500,他们的边界分别为[10 ...

  6. 小技巧 | 使用 mv 重命名文件无需两次键入文件名称

    使用过 Bash 的童鞋都知道 mv 是一个可以用于文件改名的命令,而且使用这个命令修改文件名时我们需要输入两次文件名(旧名字和新名字). 如果有一种情况是只需要你改动文件名中的一个字母,而文件名又特 ...

  7. matlab获取目录中图像名称及路径的递归实现

    一个matlab获取目录中图像名称及路径的递归实现~ matlab源文件 getImageList.m [c-sharp] view plaincopyprint? function [ imageL ...

  8. hilbert曲线序编码matlab,Hilbert曲线扫描矩阵的生成算法及其MATLAB程序代码

    Hilbert曲线扫描矩阵的生成算法及其MATLAB程序代码 王笋,徐小双(华中科技大学控制科学与工程系,武汉 430074) 摘 要 Hilbert曲线是一种重要的图像处理工具,在图像处理,特别是图 ...

  9. Android 动态修改app名称(市场和手机中显示两个不同的名称)

    默默接了一个黑科技的需求,需要在应用市场上,显示后缀,而手机上是应用原名(为了增加app的关键字搜索). 有些应用市场在你上传包后,是可以在后台修改app的显示名称的,例如下图: 但是有些市场是不能修 ...

最新文章

  1. 优先级队列(小顶堆)的dijkstra算法
  2. CentOS7.3 安装配置 Nginx、MariaDB、PHP
  3. 良好的代码风格养成记
  4. 【学术相关】中国霸榜AI顶会,但引用量最低!最新斯坦福AI指数出炉!
  5. java 名称可以包含-吗_java – “标签属性名称包含无效字符”. “Android Manifest
  6. 必备快速定位排查问题命令
  7. 同步和互斥在进程并发执行相互间会有什么影响
  8. 2021年,推荐这几个优质公众号碎片化学习
  9. Item 添加事件 list grally等
  10. 浅谈飞鸽传书实现原理
  11. 获取GridView中RowCommand的当前索引行
  12. docker update
  13. WinForm 处理未处理的异常 Application.ThreadException + AppDomain.CurrentDomain.UnhandledException
  14. c++并发编程之thread::join()和thread::detach()(转)
  15. 视频app scheme参数和app name
  16. 软件工程经济学课后答案
  17. jclasslib插件_JClassLib
  18. windows 10屏蔽系统自动更新
  19. minimum_should_match参数
  20. jquery 内容分页_为内容创建现代jQuery分页

热门文章

  1. python 两个变量同时循环_python基础篇(子非鱼)
  2. python读取pcap获得端口_Python处理网络数据包示例(pcapy读pcap文件)
  3. JDBC批量插入数据优化,使用addBatch和executeBatch
  4. Java微服务:这个画饼是个谎言,但你却不能忽视它
  5. 性能测试知多少---性能需求分析
  6. 【linux】dpkg info修复及dpkg: warning: files list file for package
  7. 日志分析工具Awstats实战之Apache篇-多站点日志分析
  8. Java关闭窗口和刷新
  9. java中用单例模式有什么好处
  10. 心情舒畅,升级到u10.04了