hlhl 发表于 2008-4-8 20:50

怎么缩小积分步长

我做了个交流异步电机模型,运行的时候一个积分环节出错了。错误信息:Derivative input 1 of 'acmotor001/Subsystem2/Integrator' at time 0.001 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).在仿真环境设置里面减小min step 还是不行。希望大家指点迷津!1

xjzhang 发表于 2008-4-8 21:25

不一定是步长的问题啊,你有没有输入阿,他的提示是输入为空啊。你可以尝试先给定一些值之后再仿真,尤其是使用了M文件或S函数的时候,0时刻时外部变量可能没有进来。另外可以更改计分方式,改用变步长的试一试。祝你好运!

hlhl 发表于 2008-4-8 21:46

变步长的已经试过了,也不行。请问一下积分方式怎么改变啊?我是初学着,希望多多指导。

afei8233 发表于 2008-4-9 09:09

Derivative input 1 of 'zongwanfei/BG/baiC/Integrator' at time 0.003359403682830997 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).一楼的朋友,向我的模型也是,老是出现这样的错误——而且在这里咨询了有进10天了,也没能得到解决。真的希望能有个高手帮帮忙,如果是改变积分的话,我的模型很大,难度也大——再说了,如果是把积分变做求导,那还用积分这个模块干什么呢??期待有人能解决,如果一楼的解决了,也望能诉我下,QQ93644311,邮箱afei8233@yahoo.com.cn

hlhl 发表于 2008-4-9 12:13

回复四楼

我也等了好几天了,期待有人帮忙解决。大家互相学习,解决了告诉我一声哦。

afei8233 发表于 2008-4-9 14:38

期待解决,望能解决这个贴子

hlhl 发表于 2008-4-10 15:57

我的问题解决了,仿真的时候有个函数在0时刻分母为了,加了一个很小的数就好了。你检查一下你的模型吧。

afei8233 发表于 2008-4-13 22:33

楼上的你好,首先恭喜你的模型改进成功,不过具体是怎么看出来的呢??我的模型挺大的,有什么具体思路??谢谢给于答复。

afei8233 发表于 2008-4-13 22:42

hlhl,看到后请回帖子啊,急求你的经验……

yachong001 发表于 2008-4-15 10:33

这种问题改步长应该没什么用的,我遇到的时候胡乱改模型参数,然后就胡乱的好了

magul 发表于 2008-9-29 10:56

This is an integration error. When a 0 is inputted into the initial conditions box in the
block labeled “integrator” the output is infinite. To solve this problem input
0.0000000000000000001 in the initial conditions box.

ChaChing 发表于 2008-10-14 11:45

原帖由 hlhl 于 2008-4-10 15:57 发表 http://www.chinavib.com/forum/images/common/back.gif
我的问题解决了,仿真的时候有个函数在0时刻分母为了,加了一个很小的数就好了。你检查一下你的模型吧。
个人看法
工程上时常使用一个很小的数, 避免singular的问题
但必须确定此singular是必然出现, 及加的值不致影响结果甚大
页: [1]
查看完整版本: 怎么缩小积分步长