matlab如何在三维曲面上画线,如何在三维曲面上画线

我想找出这个曲面上最陡峭的一条线,从曲面的最低点出发的。现在我已经找到了,在我画的底部圆上*标识对应的那条曲线,但是我不知道怎么样把那条曲线描绘出来。刚学MATLAB,希望多指教。我写的代码如下

clear all;

clc;

a1=1/3;

b1=2/3;

Gammal=a1+i*b1;

a2=sqrt(a1^2+b1^2);

b2=atan(b1/a1);

Gammal1=a2*exp(i*b2);

fla=0:0.01:1;

flg=0:pi/72:2*pi;

for m=1:1:101

for n=1:1:145

Gamma_in_lilun(m,n)=(fla(m)*exp(i*flg(n))-Gammal1)/(1-conj(Gammal1)*(fla(m)*exp(i*flg(n))));             %负载变化后前端的理论表达式

end

end

[Fl_angle,Fl_abs]=meshgrid(flg,fla);                                                                          %flg列 ,fla 行

meshc(Fl_abs,Fl_angle,abs(Gamma_in_lilun));

hold on;

rho=0.1;                              %底部画圆的半径

phi=0:pi/72:2*pi;

x=Gammal1+rho*exp(i*phi);

Fl_abs=a2+rho.*cos(phi);            %a2,b2为底部圆心

Fl_angle=b2+rho.*sin(phi);

plot(Fl_abs,Fl_angle,'k','linewidth',1.5);                 %画出底部圆

fla1=abs(x);

flg1=angle(x);

Gamma_in_lilun1=abs((fla1.*exp(i*flg1)-Gammal1)./(1-conj(Gammal1).*fla1.*exp(i*flg1)));      %负载一周对应上去的反射系数模值

[max,location]=max(Gamma_in_lilun1);             %等R圆对应上去曲面最大值和最大值的位置

plot(Fl_abs(location),Fl_angle(location),'*r');

%plot3(Fl_abs,Fl_angle,Gamma_in_lilun1(location));

xlabel('|Gamma_l|');

ylabel('theta');

set(gca,'ytick',[0:pi/2:2*pi]);

set(gca,'yticklabel',{'0','π/2','π','3π/2','2π'});

title('Gamma_i_n');

file:///C:\Users\hjx\AppData\Roaming\Tencent\Users\903005817\QQ\WinTemp\RichOle\VUT}NWJAS3HWJB4]Z4BE1HE.png

untitled.jpg

(208.97 KB, 下载次数: 10)

2016-3-21 09:36 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

曲面

matlab如何在三维曲面上画线,如何在三维曲面上画线_第1张图片

你可能感兴趣的:(matlab如何在三维曲面上画线,如何在三维曲面上画线)