查看: 365|回复: 1|关注: 0

[未答复] surf函数的用法

[复制链接]

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2019-8-14 20:31:06 | 显示全部楼层 |阅读模式
syms x  z q   m t   c   
m=0.5;
R=40;
q=200;
e=1;f=1;
Z= []
%r=1;
for X=[-75:2:75];
  for Y=[-75:2:75]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
      syms r y
      if ((X.*X)./3600+(Y.*Y)./400)<1;
a=nan;
b=nan;
Z(e,f)=nan;
f=f+1;
continue
      else
      a=X.*X
      b=Y.*Y
       %[r,y]=solve([R*(1/r+m*r)*cos(y)==X,-R*(1/r-m*r)*sin(y)==Y],[r,y]);
      end
      [r]=solve((a./(R.^2*(1./r+m.*r).^2)+b./(R.^2.*(1./r-m.*r).^2))==1,r);
      [y]=solve((a./(4.*R.^2.*m.*(cos(y)).^2)-b./(4.*R.^2.*m.*(sin(y)).^2))==1,y);
      %[r,y]=solve([R*(1/r+m*r)*cos(y)==X,-R*(1/r-m*r)*sin(y)==Y],[r,y]);
   y=vpa(y);
J=y(y>0);
K=J(J<2*pi);
L=K(imag(K)==0);

r=vpa(r);
G=r(r>0);
H=G(G<1);
I=H(imag(H)==0);
%W=r.*(1./(r*exp(i.*y))+m.*(r*exp(i.*y)));
%[x,y]=meshgrid(-pi:0.01*pi:pi,-pi:0.01*pi:pi);
%[y]=meshgrid(-pi:0.01*pi:pi);
%[r]=meshgrid(0:0.01:1);
x=0.5*pi;
%y=0.5*pi;
A=q*real(((2*exp(2*i*x)-m).*(I*exp(i*L))^2-1)./(m*(I*exp(i*L))^2-1));
B=((q*(m*I^4+(I*exp(i*L))^2)*(I*exp(i*L))^2)./(I^4*(m-(I*exp(i*L))^2./I^4)*(m*(I*exp(i*L))^2-1))*((2*exp(2*i*x)-m+m*(1+m*(I*exp(i*L))^2-2*exp(2*i*x)*(I*exp(i*L))^2)/(m*(I*exp(i*L))^2-1)))+q/(I^2*(m-(I*exp(i*L))^2/I^4))*(exp(-2*i*x)-((3*exp(2*i*x)*(I*exp(i*L))^2+m*exp(2*i*x)-m^2-1)*(I*exp(i*L))^2)/(m*(I*exp(i*L))^2-1)+((exp(2*i*x)*(I*exp(i*L))^2+m*exp(2*i*x)-m^2-1)*(I*exp(i*L))^4)*2*m/(m*(I*exp(i*L))^2-1)^2));
%O=B*(I.*exp(-i.*L)).^2.*(R.*(m-(I.*exp(i.*L)).^2./(I.^4)).^2)./(I.^2.*(abs(R.*(m-1./(I.*exp(i.*L)).^2))));
O=B./((I.*exp(i.*L)).^2.*(R.*(m-1./(I.*exp(i.*L)).^2))).*(I.^2.*R.*(m-(I.*exp(i.*L)).^2./I.^4));
%O=B.*((I.*exp(i.*L)).^2.*(R.*(m-1./(I.*exp(i.*L)).^2)))./(I.^2.*R.*(m-(I.*exp(i.*L)).^2./I.^4));
D=(A+real(O))./2;
E=(A-real(O))./2;
F=sqrt(D.^2+E.^2);
Z(e,f)=E
f=f+1;
  end
  e=e+1;
  f=1;
end  
%[d,c]=meshgrid(-105:2:105,-105:2:105);
[d]=[-75:2:75];
[c]=[-75:2:75];
idy =d.^2./3600+c.^2./400< 1;
d(idy) = nan;
c(idy) = nan;
hold on
figure(3)
surf(d,c,Z)
%view([0,1,0]);
shading interp;  

请问以上的程序为何Z的 值可以求出,但程序运行之后不显示figure


新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2019-8-17 09:10:52 | 显示全部楼层
急求,有没有大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表