我尝试了我的整个Simulink模型,其配置在我上一个问题的答案中提到了am304。但是,有关固定步长的错误在我看来。不幸的是,我不明白它是什么意思:由于求解器的配置“固定步长”而导致的错误
计算出的固定步长(2.195764022074938e-011)比模型'测试'中的所有离散采样时间小1000000倍。基于以下指定的离散采样倍这个固定步长已计算:
[2.247191011235955e-005 0]
[4.49438202247191e-005 0]
[0.1 0]
[1 0]
和下列传播离散采样时间:
[2.195764022074938e-011 0]
[4.391528044149876e-011 0]
[4.885574949116737e-008 0]
[5.374132444028412e-007 0]
[9.380303902304136e-006 0]
在模型
。您可以通过切换到变量步长求解器或指定固定步长来解决此错误,使得离散采样时间(周期和偏移量)都是固定步长的整数倍。
我已经将求解器改为变量步骤:它可以工作,但是在第一个涉及另一个缓冲器(最后一个(在模型中间有其他缓冲器))的问题上,我遇到了同样的问题:
'test/ALAMOUTI Receiver/Buffer1'中S函数'sdsprebuff2'报告的错误:此块的所有采样时间必须是离散的。 不允许连续或恒定的采样时间。
所以你能帮我解决这个问题吗? 在此先感谢
同意。就像我在回答您的其他问题时所说的那样,您需要确保模型中的块和求解器使用的采样时间一致。理想情况下,它们都是一样的(单速率模型),但是如果您想要不同的采样时间,则需要使用速率转换模块对其进行管理。作为创建模型的人员,要确保所有采样时间都已正确定义,这取决于您。就像我在之前的回答中所说的那样,您可以使用“查看样本时间信息”功能来检查整个模型中使用哪些样本时间。 – am304 2015-02-05 17:49:14
是的,你有权利。我做了不同的抽样时间,没有管理。是的,现在我解决了这个问题。非常感谢您的帮助和支持。 – Hoffen 2015-02-06 12:12:02
@霍芬如果这个答案帮助你不要忘记接受它;) – 2015-02-06 12:43:47