马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
高手帮忙看下下面这个程序为什么运行不出结果?CPU使用都是100%,就是不出结果,大家给看看怎么回事?
syms x y
nr=3;
ns=2;
Lx=1.0;
Ly=1.5;
L=0.75;
c=340;
f=200;
k=2*pi*f/c;
% 建立波函数矩阵
fix(1)=exp(-j*k*y);
for r = 1:nr;
krx=r*pi/Lx; %k r-x
kry=sqrt(k^2-krx^2); %k r-y
fix(2*r)=cos(krx*x)*exp(-j*kry*y);
fix(2*r+1)=cos(krx*x)*exp(j*kry*y);
end;
fiy(1)=exp(-j*k*x);
for s = 1:ns;
ksy=s*pi/Ly; %k(s,y),y坐标
ksx=sqrt(k^2-ksy^2); %k(s,x),x坐标
fiy(2*s)=exp(-j*ksx*x)*cos(ksy*y);
fiy(2*s+1)=exp(j*ksx*x)*cos(ksy*y);
end;
fi=[fix fiy]; %波函数矩阵
fit=transpose(fi); %波函数矩阵的转置
pfipx = diff(fi,x);
pfipy = diff(fi,y);
x3=1.5;
y3=0.75;
x4=1.25;
y4=1;
s3=sqrt((x4-x3)^2+(y4-y3)^2);
cosa3=(x4-x3)/s3;
sina3=(y4-y3)/s3;
A3=[cosa3 sina3]; %段3方向正弦和余弦
pfipn3=[]; %段3方向导数
%
pfipn3=cosa3*pfipx+sina3*pfipy; %波函数的方向导数矩阵
pfipn3t=transpose(pfipn3); %波函数的方向导数矩阵的转置
Bx3=fit*pfipn3;
kr=(y4-y3)/(x4-x3);
Y=kr*(x-x3)+y3; %段3的直线方程
B3=subs(Bx3,y,Y); %Bx3中的y用x的表达式代替
B31=diff(B3,x);
B32=B31*B31;
B33=sqrt(1+B32);
B34=Bx3*B33;
IB3=int(B34,x,x3,x4) %积分区间确定 |