MATLAB实用技巧精讲之四

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学物理建模与计算机辅助设计 第二部分 复变函数的计算机仿真
本部分内容
• • • • • • • 复数和复数运算 复变函数的图形 复变函数的极限与导数 解析函数的图形 复变函数的积分 留数和级数的计算 复变函数的变换和逆变换
Page 2
数学物理建模与计算机辅助设计
复数和复数运算
• 复数的构成
– 数学上的复数的表示方法 (1) 代数表示 (2) 几何表示 (3) 三角表示
数学物理建模与计算机辅助设计
Page 21
复变函数的图形
• MATLAB画复变函数图形命令
例4:绘制指数函数ez的图形和其泰勒展开的图形 >>figure(1) >>z=5*cplxgrid(30); >>cplxmap(z,exp(z)); >>figure(2) >>w=1; u=1; >>for k=1:5 >> u=u.*z./k; >> w=w+u; >>end >>cplxmap(z, w)
数学物理建模与计算机辅助设计
复数和复数运算
• 复数的平方根
sqrt(z) 返回z的平方根 系统求平方根默 认返回模开方, 辐角直接除2的 那一个根
例:>>z=1+2i; >>rst = sqrt(z) rst = 1.2720 + 0.7862i abs(z) =2.2361; angle(z) =1.1071; abs(rst)=1.4953; angle(rst)=0.5536.
Page 6
数学物理建模与计算机辅助设计
复数和复数运算
• 复数的实部和虚部的计算
real(z) 返回复数的实部 imag(z) 返回复数的虚部 例1:>>real(com) ans = 0.8529 0.4387 0.2311 0.7278 0.4134 0.5353
com= 0.8529 + 0.4188i 0.4387 + 0.2091i 0.2311 + 0.0043i 0.7278 + 0.5146i 0.4134 + 0.4443i 0.5353 + 0.5424i
例2:>>imag(com) ans = 0.4188 0.2091 0.0043 0.5146 0.4443 0.5424
对复数矩阵则返回对应的实部或虚部构成的矩阵
Page 7
数学物理建模与计算机辅助设计
复数和复数运算
• 复数的模和辐角的计算
abs(z) 返回复数的模 angle(z) 返回复数的辐角 复数0的辐角系 例:>>angle(0) 统默认为0 ans = 0 >>angle(exp(-i*5*pi/4)) 系统返回的辐角为 ans = 2.3562 辐角主值,主值区 >> angle(exp(i*5*pi/4)) 间为[-π ~ +π] ans = -2.3562 >>[angle(exp(i*pi)), angle(exp(-i*pi))] ans = 3.1416 -3.1416
clf z=2*cplxgrid(30); z2=z; z2(abs(z2)<=1)=NaN; w2=1./z2; u2=1./z2; for k=1:100 u2=u2./z2; w2=w2+u2; end cplxmap(z2,-w2,10) axis([-2,2,-2,2]) colorbar
Page 13
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
– CPLXMAP 对复变函数作图 CPLXMAP(z, f(z), (optional bound))
• 画出复变函数f(z)的图形,optional bound为选择变量的范围 源代码: function cplxmap(z,w,B) blue = 0.2; x = real(z); y = imag(z); u = real(w); v = imag(w); …… M = max(max(u)); m = min(min(u)); axis([-1 1 -1 1 m M]); caxis([-1 1]); s = ones(size(z)); mesh(x,y,m*s,blue*s); hold on surf(x,y,u,v); hold off colormap(hsv(64))
Page 17
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
练习:绘制复变函数1/z的图像 >>z=5*cplxgrid(30); >>cplxmap(z, 1./(z+eps*(abs(z)==0)), 5*pi) >>colorbar('vert') >>title('1/z')
Page 18
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
例3:绘制复变函数1/(1-z)的图像,并验证其泰勒展开和罗朗 展开的函数 clf z=2*cplxgrid(30); cplxmap(z, 1./(1-z+eps*(abs(z)==1)),10*pi) colorbar('vert') title('1/(1-z)')
Page 12


log 3 4i log 3 4i i arg 3 4i 2k
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
– CPLXGRID构建极坐标的复数数据网络 Z=CPLXGRID(m)
• 创建一个(m+1)×(2m+1)个网格点的复数极坐标系下的网格 源代码: %cplxgrid.m function z = cplxgrid(m) r = (0:m)'/m; theta = pi*(-m:m)/m; z = r * exp(i*theta);
Page 5
数学物理建模与计算机辅助设计
复数和复数运算
• 创建复数矩阵
(3) 可用复数矩阵的模矩阵和辐角矩阵构造 例:>>r=rand(3,2); >>theta=rand(3,2); >>com=r.*exp(i*theta) com= 0ห้องสมุดไป่ตู้8529 + 0.4188i 0.4387 + 0.2091i 0.2311 + 0.0043i 0.7278 + 0.5146i 0.4134 + 0.4443i 0.5353 + 0.5424i
– CPLXROOT 画复数n次根的函数曲面 CPLXROOT(n, m)
• 以m×m网格画复数的n次方根 • 不指定m值则缺省为m=20 • 既不指定m值、也不指定n值,则n值缺省为3 源代码: function cplxroot(n,m) …… r = (0:m)'/m; theta = pi*(-n*m:n*m)/m; z = r * exp(i*theta); s = r.^(1/n) * exp(i*theta/n); surf(real(z),imag(z),real(s),imag(s));
Page 4
数学物理建模与计算机辅助设计
复数和复数运算
• 创建复数矩阵
(2) 可用复数矩阵的实部矩阵和虚部矩阵构造 例:>>re=rand(3,2); >>im=rand(3,2); >>com=re+i*im com= 0.9501 + 0.4565i 0.4860 + 0.4447i 0.2311 + 0.0185i 0.8913 + 0.6154i 0.6068 + 0.8214i 0.7621 + 0.7919i
z x iy >>z=a+b*i
z x, y
z r cos i sin
(4) 指数表示
z re
i
>>z= r*exp(i*theta)
Page 3
数学物理建模与计算机辅助设计
复数和复数运算
• 创建复数矩阵
(1) 如之前一样输入(直接输入小矩阵,M文件输入大矩阵) 例1:>>A=[3+5i, -2+3i; 9*exp(6i), 23*exp(33i)]; A= 3.0000 + 5.0000i -2.0000 + 3.0000i 8.6415 - 2.5147i -0.3054 +22.9980i %Exm.m 例2:>>Exm x=[1+2i 2+3i 3+4i x= 4+5i 5+6i 6+7i]; 1.0000 + 2.0000i 2.0000 + 3.0000i 3.0000 + 4.0000i 4.0000 + 5.0000i 5.0000 + 6.0000i 6.0000 + 7.0000i
1 z k ( z 1) 1 z k 0
Page 20
数学物理建模与计算机辅助设计
复变函数的图形

• • • • • • • • • • • • •
z 1 时,
1 1 z
在指令窗口输入如下指令
1 1 z k ( z 1) 的罗朗展开式是 1 z k
Page 16
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
例2:绘制幂函数z1/2, z1/3的图形 (3) >> z=cplxgrid(30); >> cplxroot(2) >> colorbar('vert') >> title('z^{1/2}') (4) >> z=cplxgrid(30); >> cplxroot(3) >> colorbar('vert') >> title('z^{1/3}')
Page 8
数学物理建模与计算机辅助设计
复数和复数运算
• 共轭复数
conj(x) 返回复数的共轭
• 复数的乘法和除法
*和/ 注意:(…)/5i= (…)/(5*i)
• 复数的幂
^ 例:>>z = sym('a+i*b'); >>collect(z^2) ans = a^2+2*i*a*b-b^2 Page 9
Page 19
数学物理建模与计算机辅助设计
复变函数的图形

• • • • • • • • • • • • •
z 1 时,
1 1 z
在指令窗口输入如下指令
1 z k ( z 1) 的泰勒展开式是 1 z k 0
clf z=2*cplxgrid(30); z1=z; z1(abs(z1)>=1)=NaN; w1=1; u1=1; for k=1:100 u1=u1.*z1; w1=w1+u1; end cplxmap(z1,w1) colorbar axis([-1,1,-1,1])
exp 3 4i e3 exp 4i e3 cos 4 i sin 4 -13.1288-15.2008i
>>exp(3+4i) ans = -13.1288 -15.2008i 例2:求复数的对数 log 3 4i
>>log(-3+4i) ans = 1.6094 + 2.2143i
n n
2 k z r exp i z r exp i k 0,1, n 1 n
Page 10
数学物理建模与计算机辅助设计
复数和复数运算
• 复数方程求根
– 用函数solve求解 例:求方程x3+8=0的所有根。 >>solve('x^3+8=0'); ans = -2 1+i*3^(1/2) 1-i*3^(1/2)
• 复数的三角运算
– 复数的三角运算采用的函数和前面的一样
Page 11
数学物理建模与计算机辅助设计
复数和复数运算
• 复数的指数和对数运算
exp(z) 返回复数的以e为底的指数的值 log(z) 返回复数的以e为底的对数的值 例1:求复数的指数值 exp 3 4i 求对数时系统默 认返回对数函数 的主值分支
Page 14
数学物理建模与计算机辅助设计
z3
复变函数的图形
• MATLAB画复变函数图形命令
例1:绘制幂函数5z, z3的图形 – z=cplxgrid(30); – cplxmap(z,5*z) – colorbar('vert') – title('z')
z 4 5 3 2 1 0 0 -1 -2 -3 -4
(2)>>z=cplxgrid(30); >>cplxmap(z, z.^3) >>colorbar('vert') >>title('z')
-5 1 0.5 0 -0.5 -1 -1 -0.5 0.5 0 1
Page 15
数学物理建模与计算机辅助设计
复变函数的图形
• MATLAB画复变函数图形命令
相关文档
最新文档