| 查看: 4654 | 回复: 5 | |||
xyz52134新虫 (小有名气)
|
[求助]
仿真出现问题There may be a singularity in the solution
|
|
仿真时出现如下问题该怎么解决啊? Stopping simulation. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances). 加入memory模块后,问题就变为 Embedded MATLAB Runtime Error: Simulation stopped due to data array bounds read error. Block a1,2,3^.b^. (#91) While executing: none. 请知道的人帮忙解答一下 |
» 猜你喜欢
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
MATLAB_simulink仿真问题?
已经有2人回复
【答案】应助回帖
★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 鼓励讨论交流 2012-10-21 19:56:46
感谢参与,应助指数 +1
xiegangmai: 金币+2, 鼓励讨论交流 2012-10-21 19:56:46
|
MATLAB說你的模型裡面有代數迴路,用一般的數值方法沒辦法給出可靠的解答。 代數迴路是說,你要解的輸出,跟他自己此刻的值有關。例如: y(k)=a*y(k)+u(k)+u(k-1)... 左邊待解的y(k)出現在右邊,數值方法就傻了。 一般輸出只與他以前的值有關。因為輸出此刻的值還不知道,要拿此刻的輸出去解此刻的輸出,對程式?碚f,說不通。所以代數迴路對數值方法?碚f,不容易解出?怼#ㄓ梅柦鈪s很容易,我們隨便做個移項就好了,數值方法卻沒辦法這麼做)。 使用Memory相當於在回路中加入一個延遲方塊z^-1,這樣就消除了代數迴路. 手動找代數迴路也不難,在你的模型裡面找迴圈,繞一圈,沒碰到動態的部分,那就是代數迴路了。 |

2楼2012-10-20 19:37:24
xyz52134
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 204.1
- 散金: 35
- 帖子: 125
- 在线: 43.2小时
- 虫号: 1775207
- 注册: 2012-04-24
- 专业: 控制理论与方法
3楼2012-10-22 12:58:56

4楼2012-10-22 15:19:45
5楼2015-10-08 15:27:32
6楼2015-10-08 15:29:13













回复此楼