matlab用max函数最后输出的总是 4.7816e+04
输出是错误的
但画的频谱图是对的
因为你的频率f区域是左右对称的,前面的1:floor((n-1)/2)就是画一半,然后matlab把最大值找到另外一半了,所以你得到了 4.7816e+04,正确的打开方式是:
把
[max, pos] = max(zzf);
改成
[max, pos] = max(zzf(1:floor((n-1)/2)));
这样就可以啦,如有帮助还望题主给个宝贵的采纳支持一下答主答题哟,谢谢啦