MATLAB 中用 plot命令画出示波器的图形总结 这两天碰到一个问题是关于用MATLAB 命令把示波器图形画出,经过努力总算得到解决。 看到网上有的同行问怎么改示波器的背景,把示波器波形复制到Word 中,我有两种方法,第一种是我一个同学告诉我的,通过命令对示波器进行操作。 具体如下 shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 输入以上命令可以直接对示波器进行修改,包括背景和曲线颜色 第二种方法我以前总结过,现在详细说明一下 用MATLAB 命令将 simu link 示波器的图形画出 第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB 的工作空间内。 如图1 所示,双击示波器后选择 parameters 目录下的 Data history,将 Save data to workspace 勾上,Format选择 Array,Variable name 即你输入至工作空间的矩阵名称,这里我取名 aa。在这之后运行一次仿真,那么你就可以在 MATLAB 的工作空间里看到你示波器输出曲线的矩阵 aa。如图2 所示。 第二步,用plot 函数画出曲线 双击曲线矩阵aa,将可以看到详细情况,我这里的aa 矩阵是一个1034 行,3 列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2 条曲线。同时大家要注意,在 simu link 中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX 混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX 的输入端数有关,如果你设置了3 个MUX 输入端,而实际上你只使用了2 个,那么曲线矩阵仍然会有 4 列,并且其中一列是零,而不是3 列。 理解曲线矩阵的原理之后,我们就可以用plot 函数画出示波器中显示的图形了。 curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r') %aa(:,1)表示取aa 的第一列,仿真时间 %aa(:,2)表示取aa 的第二列,示波器的输入一 %aa(:,3)表示取aa 的第三列,示波器的输入二 %--r 表示曲线2 显示的形式和颜色,这里是(red) set(curve(1),'linewidth',3) %设置曲线1 的粗细 set(curve(2),'linewidth',3) %设置曲线2 的粗细 legend('Fuzzy','PID') %曲线名称标注 xlabel('仿真时间(s)') %X 坐标轴名...