MATLAB中运用傅里叶逆变换将频域转换在时域内 10

本人MATLAB菜鸟一枚,请大神帮帮忙,看看下面程序存在什么问题时域内峰值出现的对应时间不对,不知道为什么clearallm=60;K=1.7*10^8;C=3.625*... 本人MATLAB菜鸟一枚,请大神帮帮忙,看看下面程序存在什么问题时域内峰值出现的对应时间不对,不知道为什么clear allm=60;K=1.7*10^8;C=3.625*10^4;Ll=0.625;E=2.10*10^11;I=3.04*10^(-5);wl=60*pi;v=40000/3600;syms f0 H=i*(wl-2*pi*f0)*Ll/v;k=K+i*C*(2*pi*f0);W=k*exp(H)/E/I;A=(((2*pi*f0)^2)*m/E/I)^(1/4);B=1/v/[E*I*((wl-2*pi*f0)/v)^4-m*((2*pi*f0)^2)];D=[exp(i*A*Ll)-exp(H),exp(-A*Ll)-exp(H),exp(-i*A*Ll)-exp(H),exp(A*Ll)-exp(H);i*A*exp(i*A*Ll)-i*A*exp(H),-A*exp(-A*Ll)+A*exp(H),-i*A*exp(-i*A*Ll)+i*A*exp(H),A*exp(A*Ll)-A*exp(H);-(A^2)*exp(i*A*Ll)+(A^2)*exp(H),(A^2)*exp(-A*Ll)-(A^2)*exp(H),-(A^2)*exp(-i*A*Ll)+(A^2)*exp(H),(A^2)*exp(A*Ll)-(A^2)*exp(H);-i*(A^3)*exp(i*A*Ll)+i*(A^3)*exp(H)-W,-(A^3)*exp(-A*Ll)+(A^3)*exp(H)-W,i*(A^3)*exp(-i*A*Ll)-i*(A^3)*exp(H)-W,(A^3)*exp(A*Ll)-(A^3)*exp(H)-W];S=[0,0,0,B*W]';c=D\S;x=0.3125;F=[exp(i*A*x),exp(-A*x),exp(-i*A*x),exp(A*x)]';Q=c'*F+B*exp(i*(wl-2*pi*f0)*x/v);nl=34;R=Q*exp(i*(wl-2*pi*f0)*nl*Ll/v);f=eval(['@(f0)',vectorize(R)]);x=1:1:500;y=f(x);ytime=ifft(y,500);ytimemagx=real(ytime);ti=[0:length(ytime)-1]/500;plot(ti,ytimemagx);anis([0 3 -1.5*10^(-10) 1.5*10^(-10)]);set(0,'defaultfigurecolor','w');xlabel('时间/s')ylabel('位移/m') 展开
 我来答
昱婷漫步
2017-05-04 · TA获得超过1169个赞
知道小有建树答主
回答量:713
采纳率:94%
帮助的人:462万
展开全部

代码比较乱,梳理一下:

m=60;K=1.7*10^8;C=3.625*10^4;

Ll=0.625;E=2.10*10^11;I=3.04*10^(-5);

wl=60*pi;

v=40000/3600;

syms f0 ;

H=i*(wl-2*pi*f0)*Ll/v;

k=K+i*C*(2*pi*f0);

W=k*exp(H)/E/I;A=(((2*pi*f0)^2)*m/E/I)^(1/4);B=1/v/[E*I*((wl-2*pi*f0)/v)^4-m*((2*pi*f0)^2)];

D=[exp(i*A*Ll)-exp(H),exp(-A*Ll)-exp(H),exp(-i*A*Ll)-exp(H),exp(A*Ll)-exp(H);......

i*A*exp(i*A*Ll)-i*A*exp(H),-A*exp(-A*Ll)+A*exp(H),-i*A*exp(-i*A*Ll)+i*A*exp(H),A*exp(A*Ll)-A*exp(H);......

-(A^2)*exp(i*A*Ll)+(A^2)*exp(H),(A^2)*exp(-A*Ll)-(A^2)*exp(H),-(A^2)*exp(-i*A*Ll)+(A^2)*exp(H),(A^2)*exp(A*Ll)-(A^2)*exp(H);......

-i*(A^3)*exp(i*A*Ll)+i*(A^3)*exp(H)-W,-(A^3)*exp(-A*Ll)+(A^3)*exp(H)-W,i*(A^3)*exp(-i*A*Ll)-i*(A^3)*exp(H)-W,(A^3)*exp(A*Ll)-(A^3)*exp(H)-W];

S=[0,0,0,B*W]';c=D\S;x=0.3125;F=[exp(i*A*x),exp(-A*x),exp(-i*A*x),exp(A*x)]';

Q=c'*F+B*exp(i*(wl-2*pi*f0)*x/v);

nl=34;R=Q*exp(i*(wl-2*pi*f0)*nl*Ll/v);

f=eval(['@(f0)',vectorize(R)]);

x=1:1:500;

y=f(x);

ytime=ifft(y,500);

ytimemagx=real(ytime);

ti=[0:length(ytime)-1]/500;

plot(ti,ytimemagx);

axis([0 1 -1.5*10^(-10) 1.5*10^(-10)]);

set(0,'defaultfigurecolor','w');

xlabel('时间/s')

ylabel('位移/m')

--------------运行结果

追问
你好,你发现这个程序的错误了吗?为什么时间只能是1秒,实际峰值应该出现在1.9秒时,你能帮我解答下吗?非常感谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式