帮忙检查一段matlab编码
[y,fs,bits]=wavread('D:/yinxingdechibang.wav ');
t=(0:length(y)-1)/fs;
subplot(3,1,1);
plot(y);
legend('波形图');
xlabel('时间(s)');
ylabel('幅度');
X=fft(y.*hamming (length (y)));
fm=5000*length(X)/fs;
f=(0:fm)*fs/length (x);
subplot (3,1,2);
plot(f,20*log10 (abs(X (1:length(f)))+eps));
legend('频谱图');
xlabel('频率(Hz)');
ylabel('频谱幅度(dB)');
提示 ??? Error using ==> times
Matrix dimensions must agree.
追问:谢谢细心地观察,但这个我改了还一样,显示同样的错误,这个程序的目的是得到一个声音信号的波形图和频谱图,但这段程序只能得到波形图,或者高手给个读取声音信号的频谱图也可以,谢谢了希望得到一个遍声音信号的频谱图的matlab编码
答案:我这运行没问题,只是第11行
f=(0:fm)*fs/length (X); % x 大写
问题没有重现
其他:你画图时xy的维度不一样
上一个:matlab r2010b在曲线拟合时出现:未找到指定模块,这是怎么回事呢?求高手回答!
下一个:用matlab求解有限差分法问题