小言_互联网的博客

Simulink里的数据利用plot画图出来(to workspace 篇)

691人阅读  评论(0)

两种办法:
1.利用scope,这在前面一个blog已经讲到了matlab里scope图像转到plot
2.利用to workspace模块。
其实和第一种方式差不多。
首先我们要命名我们需要保存到workspace里的变量的名称,然后保存形式改为structure with time
画图时代码:

figure
plot(Ug.time,Ug.signals.values,'LineWidth', 1) 

后面是设置线宽为1,因为我自己常用的是1.不过这个在plot出来之后自己手动更改也很方便。

如果保存格式是array,则直接是一列数据了。因此画图之前需要先构造时间轴,代码为:

t=0:0.12/120000:0.12
plot(t,Ug)

前面的构造时间轴是根据自己的仿真时间设定的,不过这种方式还是太麻烦了,还是第一中简单一点。
另外记录几个画图中常用到的command:
保存高清图:

print -djpeg -r600 imagename

后面的imagename是自己设置的保存的图片的名字,不过这样保存的图片最好在你工作的那个文件路径下,保存图片之间可以先更改工作路径到你想要保存的那个文件夹。

记录一下常用的command:

figure %单个scope
plot(ScopeData1.time,ScopeData1.signals.values,'LineWidth', 1) 
hold on

figure %  mux起来的复合信号
plot(ScopeData1.time,ScopeData1.signals(1).values(:,1),'LineWidth', 1) 
hold on
yyaxis right %开右边的y轴
plot(ScopeData1.time,ScopeData1.signals(1).values(:,2),'LineWidth', 1) 

figure  %%% scope多个接口
plot(ScopeData2.time,ScopeData2.signals(1).values,'LineWidth', 1) 
hold on
plot(ScopeData2.time,ScopeData2.signals(2).values,'LineWidth', 1) 

转载:https://blog.csdn.net/qq_34473360/article/details/104640354
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场