www.sghz.net > 如何找到Simulink封装好的的模块内部数据文件

如何找到Simulink封装好的的模块内部数据文件

在电池模块上--右击--Look Under Mask,就可以得到其子模块,如下图所示

之间点开模块,然后把模块拖进去就可以啦

随便取个名字保存即可.需要用的时候打开仿真,把模块复制出来就能使用了.

我用的是2016a,在以前版本中要在mdl文件同路径下放我写的m文件,现在双击MATLAB function模块就直接进入编写界面了

在m文件里调用模型mdl关键是用sim命令.[ t, x, y ] = sim( model, timespan, options, ut)[ t, x, y1, y2, …, yn] = sim( model, timespan, options, ut)(1)model:需要进行仿真的系统模型框图名称;(2)timespan:系统仿真的时间范围(起始至终止时间

方法/步骤1 在matlab/simulink元件库中选取sine wave和scope模块,进行连接2 接着运行模型,结果数据会写入到scope中,只需鼠标左键双击scope模块,就会看到其操作界面及仿真波形3 如果想要放大对波形进行x、y轴放大则可以选择x、y轴放大按钮4 如果感觉放大效果不好,可以选择自动缩放按钮返回原来波形5 还有最重要的就是进行scope参数的设置,选择参数设置按钮,会出现参数设置操作界面6 在这个界面可以输入识破器界面的数目,以及是否将数据写入matlab工作空间等操作 http://jingyan.baidu.com/article/09ea3ede020fefc0afde3969.html

对运算次数进行优化后的离散pid算法的伪代码如下:d[k+1] = d[k] + e[k]*(kp+ki+kd)- e[k-1]*(kp+2*kd)+ e[k-2]*(kd);其中d[k]为当前时刻pid的控制输出,d[k+1]为下一时刻(新的)pid的控制输出,e[k]为当前时刻的控制误差,e[k-1]和e[k-2]分别为上一时刻和上上个时刻的控制误差.如果令kd=0,就可以得到题主想要的对应关系:d[k+1] = d[k] + e[k]*(kp+ki) - e[k-1]*(kp);即a=kp+ki,b=kp.参考资料:1. http://en.wikipedia.org/wiki/pid_controller

ω 和 Ls 都是已知常数吧?那就直接用 Gain (增益)模块就可以了.

你需要读进来的是一个二维的数组,分别是时间和幅值.关于读取外部文件,可以用from file模块,或者编写脚本将文件首先读到workspace里,然后用from workspace模块,个人比较推荐后者

from file模块,在库simulink-sources中.

网站地图

All rights reserved Powered by www.sghz.net

copyright ©right 2010-2021。
www.sghz.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com