`
feixingfei
  • 浏览: 45538 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
  • calosteward: 感谢分享,我还找到了另一个也是可以用于c#的代码,是一个英文网 ...
    PDF合并

matlab eps scope simulink stateflow latex paper

 
阅读更多

为了能让matlab中仿真数据导出为eps格式图片,以便在写论文时能够加入latex中:

用matlab 的打印eps到文件的功能,得到的eps文件中的图像却是纵向的,而latex中需要的是横向的图片,所以需要重新导出。


首先选择打印设置:如下图所示 单击Print Setup
弹出打印设置窗口,在方向选项里选择横向(默认是纵向的,所以需要选择为横向),之后不必点击确定,点击取消即可。
然后再打印eps到文件就就可以达到所需的效果。

sfprint(gcs,'eps') 打印当前状态图
print -strainstateflow_ClearView -deps simmodel.eps 打印当前模型图(trainstateflow_ClearView为模型文件名)

另外 simulink 的scope里的图片不是很好,如果需要保存为eps,需要在模型中加入Sinks的Simout模块来输出,如下所示:

首先找到Sinks

然后选择Simout

如果是多维数据输出,需要用到mux,也需要加入,如下所示:

然后,选择需要的数据输出,可以写一个简单的m文件:
x=2;%%%根据需要修改x和下面的代码
ifx==3
subplot(3,1,1) %%图片分三行输出到一个窗口,现在输出第一个图放在第一行
plot(simout.time,simout.signals.values(:,1))
subplot(3,1,2)%%图片分三行输出到一个窗口,现在输出第一个图放在第二行
plot(simout.time,simout.signals.values(:,2))
subplot(3,1,3)%%图片分三行输出到一个窗口,现在输出第一个图放在第三行
plot(simout.time,simout.signals.values(:,3))
else
subplot(2,1,1)%%图片分两行输出到一个窗口,现在输出第一个图放在第一行
plot(simout.time,simout.signals.values(:,1))
subplot(2,1,2)%%图片分两行输出到一个窗口,现在输出第一个图放在第二行
plot(simout.time,simout.signals.values(:,2))
end

显示Figure窗口后,根据需要修改坐标等信息,修改完后 关闭属性设置部分,缩放窗口,调整大小,之后保存为eps
最好是将Figure保存为fig文件,以便日后修改再多次利用,不必再次实验。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics