Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-02-12
年龄: 39
帖子: 12
声望力: 17 ![]() |
![]()
程序: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. 大家帮我看看是什么问题,谢谢了! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-02-12
年龄: 39
帖子: 12
声望力: 17 ![]() |
![]()
附整个程序,请各位老师帮下忙,我是刚学的~~
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); %%%%%%%%%%%%%%%%%% |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]14與2001的區別 | llp008008 | MathCAD论坛 | 1 | 2009-04-02 21:04 |
[求助]如何使用package? | 菲比寻常 | Mathematica论坛 | 0 | 2009-03-23 19:12 |
请教怎么解这个递归方程 | lohas1985 | MATLAB论坛 | 0 | 2009-03-12 14:34 |
[求助]在SIMULINK里,如何将inegrator上方的箭头移到下面去 | yijianmei | MATLAB论坛 | 1 | 2008-07-24 10:15 |
【求助】如何解含有贝塞尔函数导数的方程,哪儿位帮一下忙! | xiaorain19841202 | MATLAB论坛 | 0 | 2007-06-03 16:27 |