作业帮 > 英语 > 作业

matlab中简单模型出错?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:英语作业 时间:2024/05/01 10:03:35
matlab中简单模型出错?


j警告信息:The model 'untitled' does not have continuous states,hence Simulink is using the solver 'VariableStepDiscrete' instead of solver 'ode45'.You can disable this diagnostic by explicitly specifying a discrete solver in the solver tab of the Configuration Parameters dialog,or by setting the 'Automatic solver parameter selection' diagnostic to 'none' in the Diagnostics tab of the Configuration Parameters dialog
明明是连续状态的正弦电源,为啥仿真出现此错误?连续状态时啥意思?
请问高手有啥解决方法?
matlab求解问题的时候如果没有连续时间信号是不会用ode求解的.
你点开你的sin模块看一下,采样周期是不是设置的-1(连续信号).
再问: 你好,按照SINE的帮助文档,sample time=0为连续电源,-1是继承采样时间。为啥会出现这种问题。
这是改为-1以后的结果。
这是电源的设置。

再答: 不好意思,记错了-1确实是继承之前模块的采样设置。
我刚刚测试了一下,确实有这样的问题。其实也不能算是问题。对matlab来说没有用到连续时间的传递函数的话,单蹦来一个信号源是将其看出离散信号的。你在其后面随便添加一个连续的传递函数如1/s,matlab就将算法改成ode了。估计是为了简化计算吧。在没有连续传递函数的情况下,没必要使用4阶5阶变步长算法。
事实上,这个警告完全可以忽略。包括提示你默认最大步长为0.2的提示。在matlab中这些警告都是没有什么太大问题的。
再问: 谢谢你的回答,那如果我想要单纯输出一个正弦信号而又不出现警告,那该如何操作呢?因为经过连续传递函数以后信号都会变化,不是原来的那个信号。谢谢
再答: 兄弟啊,都说了这个警告不用管。为什么还要纠结这个啊。我用了matlab这么多年,从来都不管的。不知道你玩不玩FPGA,那里面没用的警告更多。估计依你的性格肯定要追问到底。不过既然你问了,那我就说一下吧。方法一:    点击simulation->configuration parameters.在solver选项卡下将求解算法改成discrete
很好理解,因为你这里没有连续信号,所以使用离散求解器就不会出现警告了。不过你一般建立模型肯定有连续信号的。到时候还要换成ode45.方法二:    依然是上面这个界面,选择 Diagnostics选项卡,这个选项卡是设置错误等级的。分为none,warning和error设置'Automaticsolver parameter selection' diagnostic 为 'none' 。这样设置之后,依然会将其当做离散信号进行处理。但是不会提示了。同理,你想不显示什么警告,或者修改警告等级都可以在这里改。
ps:我的建议就是不用管他了,他就是提示你一下,你看一下过了就行。第一种方法不同的方法需要来回改,麻烦。第二种方法,他做了相关修改但是没有任何提示,也不妥当。你自己看看吧。