在simulink中的设置:注意两个点:
- 一个是变量名称需要改成自己比较容易辨识的(比如我这里想要对比参数H取2,4,6的时候不同的波形,所以就设置变量名字为His2,His4,His6);
- 需要注意选择带时间的结构体
- 抽取可以选择大于0的正整数,抽取的意思就是隔多少个点记录一下,抽取设置越大,波形越不精确,但输出出来的mat文件占内存就越小,而且模型不容易卡。如果模型比较简单,记录数据不那么多的话可以直接设置抽取=1,但是如果模型比较复杂,记录数据很多的话,抽取=1会导致模型跑得很慢。所以可以按照需要选取抽取
左边是抽取=1,右边是抽取=100,可以明显看出右边是阶梯状的。
设置不同的H跑完模型之后(注意改了参数就要改记录的变量名称,不然会覆盖!!!)就可以在工作区看到如下的变量
每一个struct里面有三个东西
现在的任务是在一个图里面将His2,His4,His6绘制出来,代码如下:
figure(1) x=His2.time; y1=His2.signals.values; y2=His4.signals.values; y3=His6.signals.values; plot(x, y1, 'g', 'LineWidth', 1.5); hold on; plot(x, y2, 'r', 'LineWidth', 1.5); plot(x, y3, 'b', 'LineWidth', 1.5); ylabel('数值'); % ylim([0.5245,0.5295]); xlim([149,153]);然后运行就可以看见输出了:
大功告成!