angelpig 发表于 2006-5-25 09:24

菜菜鸟求助:这是怎么回事啊?

<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 ==&gt; plot<BR>Vectors must be the same lengths.</P>
<P>Error in ==&gt; D:\tool\matlab\work\sunmei\dft.m<BR>On line 163==&gt; plot(f,A);<BR><BR><BR>请教高手,这是什么问题啊<BR>还望各位大虾不吝赐教<BR><BR>谢谢啊<BR><BR></P>

yangzj 发表于 2006-5-25 09:59

<P>写着向量不同长度呀,f是N/2+1的,A是N的,A只取前一半就行</P>

angelpig 发表于 2006-5-25 10:07

回复:(yangzj)写着向量不同长度呀,f是N/2+1的,A是N...

是加上 A=A(0:N/2);吗?<BR>可是加上以后,连图都不画了?<BR>我实在是菜,请不要见笑啊<BR>

yangzj 发表于 2006-5-25 10:13

matlab下标不能从0开始<BR>A=A(1:N/2+1);

angelpig 发表于 2006-5-25 10:19

回复:(yangzj)matlab下标不能从0开始A=A(1:N/2+1);...

终于没有错误了<BR>终于出现一条线了<BR>谢谢啊,大虾<BR>

yangzj 发表于 2006-5-25 10:31

呵呵,刚开始时都会出现这些问题,遇到错误多看错误提示,多想想.
页: [1]
查看完整版本: 菜菜鸟求助:这是怎么回事啊?