当前位置:文档之家› 实验一、复变函数与特殊函数图形的绘制

实验一、复变函数与特殊函数图形的绘制

实验一、复变函数与特殊函数图形的绘制
一、复变函数图形的绘制
例题:编程绘制出复变函数31/31
,的图形。

z z
,
z
解:
%experiment1.m
close all
clear all
m=30;
r=(0:m)'/m;
theta=pi*(-m:m)/m;
z=r*exp(i*theta);
w=z.^3;
blue=0.2;
x=real(z);
y=imag(z);
u=real(w);
v=imag(w);
v=v/max(max(abs(v))); %%函数值虚部归一化
M=max(max(u));
m=min(min(u));
axis([-1 1 -1 1 m M])
caxis([-1 1]) %%指定颜色值的范围
s=ones(size(z));
subplot(131)
mesh(x,y,m*s,blue*s) %%画投影图
hold on
surf(x,y,u,v) %%画表面图
xlabel('x')
ylabel('y')
zlabel('u')
title('z^3')
hold off
colormap(hsv(64)) %%画色轴
w=z.^(1/3);
x=real(z);
y=imag(z);
subplot(132)
for k=0:2
rho=abs(w);
phi=angle(w)+k*2*pi/3;
u=rho.*cos(phi);
v=rho.*sin(phi);
v=v/max(max(abs(v))); %%函数值虚部归一化 M=max(max(max(M,u)));
m=min(min(min(m,u)));
surf(x,y,u,v) %%画表面图
axis([-1 1 -1 1 m M])
hold on
end
s=ones(size(z));
mesh(x,y,m*s,blue*s) %%画投影图
xlabel('x')
ylabel('y')
zlabel('u')
title('z^{1/3}')
colormap(hsv(64)) %%画色轴
w=1./z;
w(z==0)=NaN;
x=real(z);
y=imag(z);
u=real(w);
v=imag(w);
v=v/max(max(abs(v))); %%函数值虚部归一化
M=max(max(max(M,u)));
m=min(min(min(m,u)));
subplot(133)
surf(x,y,u,v) %%画表面图
hold on
axis([-1 1 -1 1 m M])
s=ones(size(z));
mesh(x,y,m*s,blue*s) %%画投影图
xlabel('x')
ylabel('y')
zlabel('u')
title('1/z')
colormap(hsv(64)) %%画色轴
二、特殊函数图形的绘制
1、Γ函数的绘制
()()1
0,1,2,t
z z e
t
d t
z ∞
--Γ=
≠--⎰
% Fig1d15.m
x=-3:0.01:3; y=gamma(x);
plot(x,y,'linewidth',4) grid on
axis([-3 3 -5 5]) xlabel('x') ylabel('y')
title('\Gamma 函数')
2、勒让德函数的绘制
l 阶勒让德多项式()l P x 的定义是:
()()
()()()
()220
22!
1112!!2!l k
l k
l l
k l k P x x
x k l k l k ⎢⎥⎢⎥⎣⎦
-=-=
--≤≤--

其中,()()/220,1,2,1/2
21
2l l n
l n l l n =⎧
⎪⎢⎥==⎨⎢⎥-=+⎣⎦⎪⎩
连带
()m
l
P x 的定义是
()()
[]
()2
2
1m
m m
l l
P x x P x =-
其中,0,1,2,l = ,0,1,2,,m l = ,而[]
()m l P x 是()l P x 的m 阶导数。

MA 计算连带勒让德函数的指令是
(,)legendre N X
在给
N ,X 值以后,它将计算所有N 阶连带勒让德函数在X 处的函数值。

如果X
是矢量,所得的结果P 是矩阵,而P (m+1,i )则是连带勒让德函数()m
l P x 在X (i
)处
的函数值。

例如 >> 产生
-0.5000 -0.4850 -0.4400 0 -0.2985 -0.5879
3.0000 2.9700 2.8800
它表示的结果是
()()()()()()()()()0
2
2
2
1
1
1
2222
2
2
2220
0.10.2
000.50.10.4850.20.44
1000.10.2985
0.20.5879
2
030.1 2.97
0.2 2.88
x x x m P P P m P P P m P P P =====-=-=-===-=-====
例题:画出所有3阶连带勒让德函数的图形。

解:
% Fig1d17.m x=0:0.01:1;
y=legendre(3,x);
plot(x,y(1,:),'-',x,y(2,:),'-.',x,y(3,:),':',x,y(4,:),'--') title('勒让德多项式')
legend('P_3^0','P_3^1','P_3^2','P_3^3') 运行程序,得到如下的图形:
3、贝塞尔函数的绘制
MATLAB 有5种计算贝塞尔函数的指令,
计算指令 所计算的函数
J=besselj(ν,z) 计算ν阶第一类贝塞尔函数()J z ν的值 N=bessely(ν,z) 计算ν阶第二类贝塞尔函数()N z ν的值
H=besselh(ν,k,z) 计算ν阶第一类汉开尔函数(k=1)()
()1H z ν的值或ν阶第
二类汉开尔函数(k=2)()
()2H z ν的值
I=besseli(ν,z) 计算ν阶第一类虚宗量贝塞尔函数()I z ν的值 K=besselk(ν,z) 计算ν阶第二类虚宗量贝塞尔函数()K z ν的值
例题:绘出前四个第一类贝塞尔函数的曲线。

解:
%Fig1d20.m
clear all close all
y=besselj(0:3,(0:0.2:10)'); figure(1)
plot((0:0.2:10)',y(:,1),'b-',(0:0.2:10)',y(:,2),'b--*',... (0:0.2:10)',y(:,3),'r-.',(0:0.2:10)',y(:,4),'r--o') xlabel('x')
ylabel('J_{\nu}(x)')
title('贝塞尔函数J_{0,1,2,3}的图形') legend('J_0','J_1','J_2','J_3')
三、上机作业: 1、编程绘制根式复变函数
()
1/2
0.5z -的图形。

2、编程绘制复变函数0
1
1k
k
k k z z
z

==-∞
-
∑∑
、其泰勒展开式和洛朗展开式-的图形。

注:画级数图形时,取前101项近似。

3、绘制教材第252页图12.5中的前6个勒让德多项式的函数曲线。

4、根据教材第285页的公式(13.90),绘制前四个球贝塞尔函数(
()()()()
0123,,,j x j x j x j x )的曲线。

相关主题