matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)

方法1:
将仿真复制一下,再粘贴回去,将其中一个仿真中参数修改,两个仿真输出的信号用mux连接到同一个scope里面。这是最简单的方法:
首先随便建立一个模型:
在这里插入图片描述
双击打开Scope2,其输出信号为:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第1张图片
复制并粘贴模型,用mun将两个模型连接到同一个scope:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第2张图片
修改其中一个输入的参数:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第3张图片
得到输出如图:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第4张图片
点击Autoscale按键使图形全部显示:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第5张图片
方法2:
首先将每次仿真的结果保存于workspace中,要注意每次保存的名称要不同(下面会详细介绍);然后在命令窗口中使用plot画出图形。以线性二自由度汽车模型角阶跃输入响应试验为例,具体步骤如下:
建好的模型如图
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第6张图片
现在要模拟速度不变(u=50),在t=1时刻,前轮角阶跃输入分别为5°、10°、15°时的
响应。首先将阶跃输入信号设置好(输入为5°)
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第7张图片
然后双击打开Scope,点击Parameters按键,在对话框中设置如图,点击History选项卡,可以将”Limit data points to last”复选框勾掉,以防图像大小超出,然后将”Save data to workspace”选中,并将”Variable name”改成自己的名字,此处命名为”Input_angle_5”,”Format”为”Array”。
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第8张图片
此时,运行仿真,得到的结果将会以”Input_angle_5”的名字保存在workspace。
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第9张图片
同样,将阶跃输入信号参数改动为10°,15°,将Scope——Parameters——History——Variable name改为Input_angle_10和Input_angle_15,然后运行仿真。这里注意,要先改变量名,然后再运行仿真。最后在workspace得到3个变量,每个变量是个2维数组,第1列是时间,第2列是数值。
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第10张图片
然后是将变量画成图,在命令窗口运行如下命令:
figure(1)

plot(Input_angle_5(:,1),Input_angle_5(:,2),‘k’,‘LineWidth’,1.5)
hold on
plot(Input_angle_10(:,1),Input_angle_10(:,2),‘b’,‘LineWidth’,1.5)
hold on
plot(Input_angle_15(:,1),Input_angle_15(:,2),‘r’,‘LineWidth’,1.5)
grid on

matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第11张图片
结果如图:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第12张图片
可以将图像改成自己想要的格式,使用“显示绘图工具和停靠图形”按钮可以方便地调节图形的各种格式,包括图像背景颜色、坐标框范围内背景颜色,x,y轴名称,图像名称,每根线条的颜色、粗细、线型,加注图例等,最后效果如图:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第13张图片
方法3:
输入使用数组,能够比方法2更快实现。仍然以线性二自由度汽车模型角阶跃输入响应试验为例。
首先在模型中,双击阶跃输入模块,设置输入参数为[5 10 15 20]。
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第14张图片

其次,双击打开Scope的显示窗口,选中”Save data to workspace”,然后将Scope——Parameters——History——Variable name改为”Input_angle”后点击确定。
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第15张图片
第三步,运行模型,在workspace中生成了“Input_angle”变量,该变量为5维的矩阵,第一维度对应时间,2、3、4、5分别对应了输入为5、10、15、20时的响应。
第四步,画图。
在命令窗口输入:
plot(Input_angle(:,1),Input_angle(:,2),‘K’,‘LineWidth’,1.5);
hold on
plot(Input_angle(:,1),Input_angle(:,3),‘b’,‘LineWidth’,1.5);
hold on
plot(Input_angle(:,1),Input_angle(:,4),‘r’,‘LineWidth’,1.5);
hold on
plot(Input_angle(:,1),Input_angle(:,5),‘g’,‘LineWidth’,1.5);
hold on;
grid on
显示如图:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第16张图片
然后根据方法2中的步骤设置各种格式。

注意

如果上面画图的命令是直接从这篇博客上复制过去的,有可能会出现这样的问题:
matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比)_第17张图片
这是因为复制过去的单引号是中文格式的,需要改成英文标点符号。。。

你可能感兴趣的:(matlab/simulink多次仿真形成对比(仿真完之后输出一个scope,改变参数后再输出一个scope,如何将两个图弄到一起形成对比))