MATLAB在复变函数中的一些应用(3)

2019-03-15 19:23

第二章 MATLAB在复变函数中的计算

-2.4178e-005 +9.6359e-005i

2.3 复变函数方程求解

利用MATLAB符号数学工具箱提供的命令solve求解方程,solve函数的适应性很强大.但是我们在用solve求解方程时得到的精确表达式显得不是很直观.

例8 求下列方程的根. (a)ln(z4?2z3?z2?3)?10; (b)cos(z?i)?1/2.

分析:可调用MATLAB的内部函数solve进行求解. 解:MATLAB程序如下:

>> solve('log(z^4+2*z^3+z^2+3)=10') %solve表示对方程求根 ans =

-1/2+1/2*(1+4*(exp(10)-3)^(1/2))^(1/2) -1/2-1/2*(1+4*(exp(10)-3)^(1/2))^(1/2) -1/2+1/2*i*(-1+4*(exp(10)-3)^(1/2))^(1/2) -1/2-1/2*i*(-1+4*(exp(10)-3)^(1/2))^(1/2) >> solve('cos(z+i)=1/2') ans = -i+1/3*pi

2.4 留数的计算

留数在复变函数中占有很重要的地位,比如积分计算可以转化为先求被积函数的留数,再利用留数定理求被积函数的积分.但是我们在求某些留数的时候显得很难.我们用下面方法来求留数.

(1).通过求极限的方法计算留数.如果已知孤立奇点z0和阶数n,那么在MATLAB中计算函数的留数只需利用到下面的命令即可求得:

R=limit(F*(z-z0),z,z0) %单奇点的留数

R=limit(diff(F*(z- z0)^n,z,n- 1)/prod(1:n-1),z,z0) %n阶奇点的留数详见文献[13].

8

红河学院本科毕业论文(设计)

例9 求函数f(z)?1z(z?i)14在孤立奇点处的留数.

分析:由原函数f(z)?z(z?i)4可知,z?0是四阶极点,z?i是一阶极点.

解:由MATLAB命令可求出这两个奇点的留数: >> syms z

>> f=1/((z^4)*(z-i));

>> R1=limit(diff(f*(z-0)^4,z,3)/prod(1:3),z,0) R1 = %原函数z?0处的留数 -1

>> R2=limit(f*(z-i),z,i) R2 = %原函数z?i处的留数 1

(2).直接调用MATLAB函数库中的residue函数直接计算. 例10 求函数f(z)?z?12z?3z?5z43的极点和留数. 分析:其中要用到的留数函数命令[r,p]?residue[a,b]:r表示函数返回的是留数,p表示极点,a,b分别是f(z)分子多项式和分母多项式的系数矩阵.如果没有重根,留数返回到r,极点返回到p(见文献[14]).很显然函数

f(z)?z?12z?3z?5z43没有重根.

解:MATLAB程序如下: >> [r,p]=residue([1,1],[2,3,0,5,0]) r = %所求函数的留数 0.0386 -0.1193 - 0.0705i -0.1193 + 0.0705i 0.2000 p = %所求函数的极点 -2.0786

9

第二章 MATLAB在复变函数中的计算

0.2893 + 1.0578i 0.2893 - 1.0578i 0

可见,当没有重根的时候,我们只需要输入一个函数命令就可以把留数,极点都可以计算出来.

2.5 泰勒级数展开

Taylor级数展开在复变函数中有很重要的地位.对于某些解析函数,Taylor展开通常采用直接求Taylor系数、逐项求导、逐项积分和级数等.这时不仅计算工作繁杂,而且仅能得到的展式的有限项.Taylor展开的结果令我们不满意.利用MATLAB命令我们可以求函数指定点的泰勒展开式.

例11 求下列函数在原点处的泰勒展开式.

cosz;sinz;

ez1?z.

ez分析:cosz,sinz都是初等函数,显然解析.因1?z在z?1内解析,故,展开后的幂级数在z?1内收敛.利用命令taylor(f(z),n,z,k)其中n表示前多少项,z表示自变量k表示在k (k?C)点展开,我们可以根据需要展开前多少项. 解:MATLAB程序如下: >> syms z >> taylor(sin(z),8,z,0) %展开级数的前8项 ans = z-1/6*z^3+1/120*z^5-1/5040*z^7 >> taylor(cos(z),10,z,0) %展开级数的前10项 ans = 1-1/2*z^2+1/24*z^4-1/720*z^6+1/40320*z^8 >> syms z >> taylor(exp(z)/(1-z),5,z,0) %展开级数的前5项 ans = 1+2*z+5/2*z^2+8/3*z^3+65/24*z^4 10

红河学院本科毕业论文(设计)

第三章 复变函数的图形

3.1 三角函数的图像

MATLAB除了能进行符号运算和数值运算之外,还有非常强大的图形处理能力.利用MATLAB这个强大的能力可以将复变函数以图形化的形式显示出来,以便于我们加深对复变函数的理解.

例12 画出sinz和cosz的图像. 解:MATLAB程序为: >> z=4*cplxgrid(30);cplxmap(z,sin(z));colorbar('vert'); title('sin(z)') >> z=3*cplxgrid(25);cplxmap(z,cos(z));colorbar('vert'); title('cos(z)') 仿真结果如下: sin(z)sin(z) 2525252020201515151010105550040-54-5-53-10-10-1022-151-15-1500-20-1-20-20-25-2-2-25 -5 -3-25-4-3-2-10123450-4-4 图3-1 图3-2 cos(z)cos(z) 0.560.410-140.38-0.80.2-0.662-0.40.140-0.200-0.12-20.2-0.20-40.4-0.3-250.60-60.8-0.5-1-0.4-4 3210-1-2-3-51-0.510.50 图3-3 图3-4

11

第三章 复变函数的图形

从图3-1和图3-3可以看出f(z)?sinz和f(z)?cosz都是单值函数,虚部数值大小由图右侧的颜色条表示,不同的颜色处表示不同的函数值相,相同的颜色处对应相同的函数值.函数sinz和cosz的实部和虚部在区域中都可以大于1,所以,它们的模的数值也可以大于1.在图3-2和图3-4中,从颜色的分布来看可知f(z)?sinz是关于原点对称的,f(z)?cosz是关于虚轴对称的.周期均为2?i. 3.2 其他函数图像 例13:画出下列幂函数图像. 1(a)f(z)?z;(b)f(z)?z5. 3解:MATLAB程序为: >> z=cplxgrid(30); %构建一个极坐标的复数数据网格 >> cplxmap(z,z.^3); %对复变函数做图 >> colorbar('vert'); %注各个颜色所代表的数值 >> title('z^3') %给图加标题 >> z=cplxgrid(30); >> cplxmap(z,z.^ (1/5)); >> colorbar('vert'); >> cplxroot(5); >> title('z^(1/5)') 仿真结果如下: 1z131z(1/5) 10.8 0.80.60.40.50.60.40.500.200.20-0.5-0.2-110 -11-0.4-0.6-0.8-1-1-0.500.50-0.2-0.5-0.41-0.500.51-10-0.6-0.8-1-1-1 图3-5 图3-6 从图3-5可以看出函数f(z)?z3是一个单值函数,我们在阴影部分任取一点12


MATLAB在复变函数中的一些应用(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:FA-SOP-009 企业财务SOP手册-费用会计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: