MATLAB /simulink中, sin导数后为啥cos(0)不等于1? 结果如图所示:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB /simulink中, sin导数后为啥cos(0)不等于1? 结果如图所示:相关的知识,希望对你有一定的参考价值。
参考技术A 你是用du/dt模块吧?该模块用当前时刻与前一时刻的值相减再除以步长得到导数,在第一步计算的时候,sin(0)为0,前一时刻的值默认为0,所以求出来的导数为0。后续的各步计算就没问题了。
Simulink文档里有提到,du/dt属于一个不建议使用的模块,如果能避免尽量避免。避免的途径是把数学模型转换为更合理的方式,比如,求解微分方程时可以使用积分器模块;再比如,你现在的这个问题,如果知道导数的表达式,则直接用表达式,而不是用原函数来求导。
反馈消除使用matlab/simulink仿真
第一份工作时做啸叫抑制的仿真,调大0.3可以有大的啸叫产生,下图的SIMULINK仿真模型
实现移相有多种方法:
1、iir实现
2、FFT实现
3、使用FIR实现
所有信号均可以由正弦信号叠加而成。
以上是关于MATLAB /simulink中, sin导数后为啥cos(0)不等于1? 结果如图所示:的主要内容,如果未能解决你的问题,请参考以下文章
Matlab/simulink:一个数组 不用排序的方法 找出它当中第K大的数
MATLAB/Simulink仿真时出现下边错误 这是哪里出错了啊 不太懂 求大神指点一二 不胜感激