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

2019-03-15 19:23

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

ans = 11.0000 0.0059 + 0.0014i 3.0000 + 2.0000i 1.0000 0.9393 - 0.4983i 从上例我们可以看出,利用MATLAB不仅可以求复数的加、减、乘、除,而且还可以求复指数、复对数等.并且可以把它们的实部、虚部、共轭复数等都求出来.当很多复数要处理这些问题时,我们还可以利用MATLAB强大矩阵运算功能把这些复数构建成矩阵的形式一起解决. 1例2 计算ie3和ie3i. 分析:在MATLAB中的乘除由“*”和“/”来实现. 解:MATLAB程序如下: >> i*exp(1/3*i) ans = -0.3272 + 0.9450i >> i*exp((1/3*i)) ans = -0.3272 + 0.9450i 可见,MATLAB程序中i*exp(1/3*i)和i*exp((1/3*i))是不相等的. 例3 计算3?8. 分析:在实数域内,3?8=?38=?2.这时3?8就只取三值中的实值.下面,我们按常规方法和利用MATLAB来计算此题. 解:因为?8=8(cos??isin?),故 (3?8)k?3i18(cos??2k?(3?8)0=38(cos3??2k?3?isin?isin??2k?3??2k?3) (k=0,1,2) 当k=0时,) ?2(12?32i)?1?3i; (3?8)1=38(cos(3?8)2=38(cos??2k?3?isin?isin??2k?3)) ??2; ?1?3i

3

??2k?3??2k?3

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

利用MATLAB来计算: >> (-8)^(1/3)

ans = %默认的结果变量 1.0000 + 1.7321i

可见,对于多值函数,MATLAB仅仅对其主值(k=0时)进行计算.

2.2 复变函数的微积分

复变函数的微积分包括极限、导数(包括偏导数)、符号函数的积分以及复数方程等,这些都可以通过MATLAB的符号运算工具箱来实现.我们看下面几个具体的例子. 例4 求下列极限: (a) limsin(z)zz?0;(b) limt(1?z/t)t. t??分析:一般求复变函数极限的时候,主要把复变函数的极限问题转化为它的实部和虚部的极限问题,再讨论这两个二元实变函数的极限问题.但对于多数复变函数而言,写出它的实部和虚部比较复杂,比如:例(a)中用泰勒展开式证明的时候就比较复杂.下面我们利用MATLAB求极限.

解:(a)MATLAB程序如下: >> syms z %定义符号变量

>> f=limit((sin(z))/z,z,0) %f表示sin(z)/z以z为变量在0处的极限 f = 1

(b)MATLAB程序如下: >> syms z t

>> f=limit((1+z/t)^t,t,inf) %limit对函数求极限符号,inf表示无穷大 f = %对f求极限 exp(z)

从上例可以看出,当利用MATLAB求极限时我们只需要掌握几个常见的步骤:(1).定义变量;(2).列出f;(3).对f求极限.

4

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

?z?,z?0,例5 f(z)??z试求f(z)在z?0点处的左右极限. ?0,z?0.?分析:首先,我们利用MATLAB符号计算方法计算. 解:MATLAB程序如下: >> syms z >> f1=limit(z/abs(z),z,0,'left') f1 = -1 >> f2=limit(z/abs(z),z,0,'right') f2 = 1 从运行的结果可以看出,左极限为-1,右极限为1,左右极限不相等,所以f(z)的极限不存在.我们也可以通过MATLAB作图更加形象的理解它的性质.下面利用MATLAB作图分析此题. 解:MATLAB程序如下: >> z1=-2:0.01:0; f1=z1/abs(z1); ?s()表示绝对值符号 zr=0:0.01:2; fr=zr/abs(zr); plot(z1,f1,zr,fr) axis([-2 2 -1.5 1.5]) 仿真结果如下: 1.510.50-0.5-1-1.5-2-1.5-1-0.500.511.52 图2-1

5

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

观察图2-1可以清楚的看到,z=0是其间断点,其右极限为1,左极限为-1,故

f(z)在z?0处的极限不存在.

例6 试对下列函数求导. (a)设f?z9,求f的导数f?;

(b)试对表达式f(x,y)?x3?4x2y?y2求一阶导数和偏导数.

分析:上述两个例子在求导问题中具有一定的代表性(求一阶导数和偏导数).我们在解决复变函数求导问题的时候,常常因为高次、多元使得我们求导错误.如果我们利用MATLAB来求导数,我们只需要掌握几个命令.比如:diff(f,z)表示f(z)对z求导,diff(dfdx,y)表示f对x求导后再对y求导数.

解:(a)MATLAB程序如下: >> syms z >> f(z)=z^9;

>> df(z)= diff(f,z) %f(z)对自变量z求导数 df (z)= 9*z^8

(b)MATLAB程序如下: >> syms x y

>> f=x^3+4*x^2*y-y^2; >> df=diff(f) df =

3*x^2+8*x*y %x是默认的自变量 >> dfdx=diff(f,x) dfdx = 3*x^2+8*x*y >> dfdy=diff(f,y) dfdy = 4*x^2-2*y

>> dfdxdy=diff(dfdx,y) dfdxdy =

6

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

8*x >> dfdydx=diff(dfdy,x) dfdydx = 8*x 例7 计算下列积分. (a)计算积分?(x?y?ix2)dz,积分路径C是连接由0到1+i的直线段; c(b)计算积分f(z)??1z?2(z?i)(z?1)(z?3)9dz. 分析:复积分的积分路径既可以是开曲线,也可以是简单闭曲线.由于积分路径以及被积函数的差异,导致有些复积分的计算比较复杂.但是利用MATLAB很容易计算复变函数的积分.下面我们来看具体的例子. (a)中C的参数方程为:z?(1?i)t,0?t?1,x?t,y?t,dz?(1?i)dt,由参数方程法得:?(x?y?ix2)dz?c?10(t?t?it)(1?i)dt,下面我们利用MATLAB来求积分. 2解:MATLAB程序如下: >> syms t >> int((t+t+i*t^2)*(1+i),0,1) %int积分符号 ans = 2/3+4/3*i (b)由题意可知f(z)在积分路径C有两个单极点1、-3和一个9级极点.为了避开计算9级极点?i的留数.可以改成求无穷远点的留数. 解:MATLAB程序如下: >> syms t z >> z=2*cos(t)+i*2*sin(t); %建立积分路径C的参数方程 >> f2=1/(z+i)^9/(z-1)/(z-3); %输入被积函数f(z)的表达式 >> f2=int(f2*diff(z),t,0,2*pi) f2 = -481/62500000*pi+1917/62500000*i*pi f2 =

7


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

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

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

马上注册会员

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