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搭建简单的仿真模型

Matlab/simulink:一个数组 不用排序的方法 找出它当中第K大的数

MATLAB/Simulink仿真时出现下边错误 这是哪里出错了啊 不太懂 求大神指点一二 不胜感激

Simulink、matlab 函数

matlab中的simulink的传递函数模块怎么设置分数是小数的函数。如0.01/0.01s+1?

MATLAB/simulink中,将示波器的数据保存数据在workspace里面,怎样用plot的方法打印图形。