nmaple 发表于 2012-3-5 14:39

simulink仿真积分器报错

本帖最后由 牛小贱 于 2014-2-26 19:30 编辑



如图所示积分器,lookup table里德数据
x=
y=
lookup table的输入在0~200之间,也就是说,不可能为0,倒数是存在的

这是我模型的一个子模块,是发电机GCU的一部分。
本来这个模块没有什么问题,但我在模型的其他部分做了个反馈,产生了代数环。消除那部分的代数环后,就出现了这个问题,报错如下:
Derivative input 1 of 'Copy_of_untitled/LG/Protect/Subsystem3/Integrator' at time 0.0569999975000008 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances).

这个积分模块在发电机里的位置如下图

可以看出,积分器并不在反馈或反馈的前向通道里,所以state port是用不着的(我也试过用了这个端口,结果反而报错了)。
我在网上查了一下,有说积分的初始值设为很小的非0值的,试过,没用。而且,我也说了,这个模块在产生并消除代数环之前是可以运行的。
所以,我就不知道怎么办了。不知道积分器和代数环究竟有什么关系?
这个问题,我已经弄了两个星期了,一直找不到解决办法,跪求大神帮忙~
另外,我附上产生代数环的模块的模型。这个模型是用数学函数实现变压整流的目的,前向通道中由输入的交流电压有效值得到输出电压,并由输出电流得到输入电流的有效值并产生波形

两次仿真:
第一次,直接把负载删掉,测量电源两端电压,是正常的
第二次,负载接上,但负载与电源之间的开关(开关没有缓冲电阻或电容)是断开的,结果就突然大得惊人了
这叫什么事儿啊~我表示压力忒大了
用的电源是二次电源。我觉得还是这个变压整流器的问题,可是我用的是固定的数学表达式,按照道理,无论如何都不可能出错的啊。
页: [1]
查看完整版本: simulink仿真积分器报错