PDA

查看完整版本 : [求助]跪求赐教


zhouxingli
2009-02-16, 09:52
程序:function result=Scan_farfild(t0,v0,a,b,c,r,f)
syms t v
A=cos(v0).*sin(t).*cos(v)-sin(v0).*sin(t).*sin(v);
B=cos(t0).*sin(v0).*sin(t).*cos(v)-sin(t0).*cos(t)+cos(t0).*cos(v0).*sin(t).*sin(v);
sin(t1)=(A.^2+B.^2).^(1/2);
t1=asin(sin(t1));
cos(v1)=A/((A^2+B^2)^0.5);
v1=acos(cos(v1));
输入的命令为:t0=0;v0=0;a=1;b=1;c=1;r=3.6e7;f=3e9;Scan_farfild(t0,v0,a,b,c,r,f)
出现问题:??? Error: File: D:\matlab\work\Scan_farfild.m Line: 5 Column: 1
"sin" was previously used as a function,
conflicting with its use here as the name of a variable.
大家帮我看看是什么问题,谢谢了!

zhouxingli
2009-02-16, 10:07
附整个程序,请各位老师帮下忙,我是刚学的~~
function result=Scan_farfild(t0,v0,a,b,c,r,f)
syms t v
A=cos(v0).*sin(t).*cos(v)-sin(v0).*sin(t).*sin(v);
B=cos(t0).*sin(v0).*sin(t).*cos(v)-sin(t0).*cos(t)+cos(t0).*cos(v0).*sin(t).*sin(v);
sin(t1)=(A.^2+B.^2).^(1/2);
t1=asin(sin(t1));
cos(v1)=A/((A^2+B^2)^0.5);
v1=acos(cos(v1));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%角度变换
ps22=sin(t1)*sin(t)*cos(t0)-sin(t0)*cos(v0)*cos(t)*sin(t1)*sin(v)+cos(v0)*cos(t)*cos(t1)*sin(v1)*sin(v)*cos(t0)+cos(t)*cos(t1)*sin(v1)*cos(v)*cos(t0)*sin(v0)-sin(t0)*cos(t)*sin(t1)*cos(v)*sin(v0)+cos(v0)*cos(t)*cos(t1)*cos(v1)*cos(v)+sin(t0)*cos(t1)*sin(v1)*sin(t)-cos(t)*cos(t1)*cos(v1)*sin(v)*sin(v0);
ps23=cos(t)*sin(v1)*sin(v)*sin(v0)-cos(v0)*cos(t)*sin(v1)*cos(v)+sin(t0)*cos(v1)*sin(t)+cos(v0)*cos(t)*cos(v1)*sin(v)*cos(t0)+cos(t)*cos(v1)*cos(v)*cos(t0)*sin(v0);
ps32=cos(v0)*cos(t0)*cos(t1)*sin(v1)*cos(v)-cos(v0)*sin(t0)*sin(t1)*cos(v)-cos(v0)*cos(t1)*cos(v1)*sin(v)+sin(t0)*sin(t1)*sin(v)*sin(v0)-cos(t1)*cos(v1)*cos(v)*sin(v0)-cos(t0)*cos(t1)*sin(v1)*sin(v)*sin(v0);
ps33=cos(v0)*cos(v1)*cos(t0)*cos(v)+cos(v0)*sin(v1)*sin(v)+sin(v1)*cos(v)*sin(v0)-cos(v1)*cos(t0)*sin(v)*sin(v0);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%定义4个矩阵参数
q=(sin(t1).^2*cos(v1).^2)/(a.^2)+(sin(t1).^2*sin(v1).^2)/(b.^2)+(cos(t1).^2)/(c.^2).^0.5;
g=(cos(v1).^2/a.^2+sin(v1).^2/b.^2).^0.5;
r1=r;
r2=r1*(((sin(t1).^2*cos(v1).^2)/(a.^2)+(sin(t1).^2*sin(v1).^2)/(b.^2)+(cos(t1).^2)/(c.^2)).^0.5);
sint2=sin(t1)*g/q;
t2=asin(sint2);
sinv2=(sin(v1)/b)/g;
v2=asin(sin(v2));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%尺度变换
tt=k2*m*a1;n=6;
Jn0=(2/(pi*tt)).^(1/2)*cos(tt-((2*n+1)/4)*pi);
Jn1=diff(Jn0,'tt');
tt1=k2*a1;
Jn2=(2/(pi*tt1)).^(1/2)*cos(tt1-((2*n+1)/4)*pi);
Jn3=diff(Jn2,'tt1');
Hn=j.^(n+1)*exp(-j*k2*m*a1);

Hn0=diff(Hn,'tt',1);
Hn1=j.^(n+1)*exp(-j*tt1);
Hn2=diff(Hn,'tt1',1);
cn2=(Jn2*Jn1-m*Jn0*Jn3)/(Hn*Jn1-m*Jn0*Hn2);
dn2=(m*Jn2*Jn1-Jn0*Jn3)/(m*Hn0*Jn1-Jn0*Hn1);
l=prod(1:n);
s=cos(t2);
k=diff(s^2-1,'s',n);
pn=(1/(2^n*l))*k;
p1n=-diff(pn,'t2');
xn2=diff(p1n,'t2');
yn2=p1n/sin(t2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调用特殊函数
s2=symsum(((2*n+1)*(cn2*xn2+dn2*yn2))/(n*(n+1)));
s1=symsum((2*n+1)*(cn2*yn2+dn2*xn2)/(n*(n+1)));
Et2s=j*exp(-j*k2*r2)*cos(v2)*s2/(k2*r2);
Ev2s=-j*exp(-j*k2*r2)*sin(v2)*s1/(k2*r2);
Et1s=((cos(t2)*cos(v2)*Et2s)/a-(sin(v2)*Ev2s)/a)*cos(t1)*cos(v1)+((cos(t2)*sin(v2)*Et2s)/b+(cos(v2)*Ev2s)/b)*cos(t1)*sin(v1)+(sin(t1)*sin(t2)*Et2s)/c;
Ev1s=((cos(t2)*cos(v2)*Et2s)/a-(sin(v2)*Ev2s)/a)*(-sin(v1))+((cos(t2)*sin(v2)*Et2s)/b+(cos(v2)*Ev2s)/b)*cos(v1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%定义函数
k=1/(2.*pi.*f);
k1=k;
k2=k1/((sin(t0).^2*cos(v0).^2)/a.^2+(sin(t0).^2*sin(v0).^2)/b.^2+cos(t0).^2/c.^2).^0.5;
Ets=ps22*Et1s+ps23*Ev1s;
Evs=ps32*Et1s+ps33*Ev1s;
t=[20:20:180];
y=abs(Ets);
plot(t,y);
%%%%%%%%%%%%%%%%%%