菜菜鸟求助:这是怎么回事啊?
<P>原是数据采样频率是400kHz,需要对信号U_1_Send和U_2_Send 进行0.01s附近800 (前200+后600)个点进行DFT变换,因为才开始学习Matlab,所以就想简单的先分析0:4095,程序如下:<BR><BR>N=4096;<BR>A=abs(fft(U_2_Send,N)/(N/2));<BR>df=400000/N;<BR>f=(0:N/2)*df;<BR>%%%%%-------------------模电量 的 FFT 变换图示figure(10);<BR>figure(10);<BR>subplot(2,1,1);<BR>plot(f,A);<BR>xlabel('n');<BR><BR>出现了如下问题:<BR>?? Error using ==> plot<BR>Vectors must be the same lengths.</P><P>Error in ==> D:\tool\matlab\work\sunmei\dft.m<BR>On line 163==> plot(f,A);<BR><BR><BR>请教高手,这是什么问题啊<BR>还望各位大虾不吝赐教<BR><BR>谢谢啊<BR><BR></P> <P>写着向量不同长度呀,f是N/2+1的,A是N的,A只取前一半就行</P>
回复:(yangzj)写着向量不同长度呀,f是N/2+1的,A是N...
是加上 A=A(0:N/2);吗?<BR>可是加上以后,连图都不画了?<BR>我实在是菜,请不要见笑啊<BR> matlab下标不能从0开始<BR>A=A(1:N/2+1);回复:(yangzj)matlab下标不能从0开始A=A(1:N/2+1);...
终于没有错误了<BR>终于出现一条线了<BR>谢谢啊,大虾<BR> 呵呵,刚开始时都会出现这些问题,遇到错误多看错误提示,多想想.
页:
[1]