复变函数报告
一些复数运算的 MATLAB实现 个人信姓名: 汪震 专业: 信息与计算科学 学号: 201300702055 息 一些复数运算的MATLAB实现
内容提要:复变函数中的很多运算都能在MATLAB中进行,而且变得非常简单,只
需要调用相应的函数或者编写程序代码。这里将选取复变函数中一些常用的运算:模、辐角、幂次、方根、留数、简单积分计算等介绍其在MATLAB中的计算方法。同时,选取了课本上的一些例题习题进行求解展示。
关键词 MATLAB 复数基本运算 留数 积分运算
0 MATLAB简介
MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB的功能十分强大,其自带的各种工具箱能够解决很多领域的数学问题,因此应用非常广泛。
1 复数的生成 1.1 复数的输入
在MATLAB中,复数的单位为i和j,即:i = j =?1。在命令窗口中其值显示为: 0 + 1.0000i
产生复数的方法有两种:
1. 由z = x + y*i产生,可简写成z = x + y i ;
?i),其中r为复数z的模,?为复2. 由z?r?exp(i??)产生,可简写成z?r?exp(数z辐角的弧度值。
1.2 复数矩阵的输入
MATLAB的矩阵元素允许是复数、复变量和由它们组成的表达式。复数矩阵的输入方法有两种:
1. 按照实数矩阵的方式,逐个输入元素。同一行元素间用空格或逗号分开,不同行元素用分号隔开。
2. 将实部、虚部矩阵分开输入,再写成和的形式。 例1
>> A=[i,3-2i;-6+5i,-j] A =
0 + 1.0000i 3.0000 - 2.0000i -6.0000 + 5.0000i 0 - 1.0000i
>> B=[1,3;-2,4]-[5 8;6 -9]*i B=
1.0000 - 5.0000i 3.0000 - 8.0000i -2.0000 - 6.0000i 4.0000 + 9.0000i
2 复数的运算
2.1 复数的实部与虚部
复数的实部和虚部用命令real和imag提取。 格式:real (z) %返回复数z的实部 imag (z) %返回复数z的虚部
2.2 共轭复数
复数的共轭复数由命令conj实现。
格式:conj (z) %返回复数z的共轭复数
2.3 复数的模和辐角
求复数的模和辐角由函数abs和angle实现。 格式:abs (z) %返回复数z的模
angle (z) %返回复数z的辐角
例2 求下列复数的实部、虚部、共轭复数、模、辐角。 (1)
13i(1?3i)(9?4i)175 (2)? (3) (4)4i?i?i 1?5ii4?i6i解:可以使用相应的函数指令逐个对上面各题进行求解。更方便地,将上述4个复数
组成复矩阵一并处理。
在MATLAB编辑器中建立M文件Example2.m:
format rat %有理数表示 Z=[1/(1+5i),3/i+i/(4-i),(1+3i)*(9-4i)/2i,4*i^17-i^7+i]
Real=real(Z) %求实部 Imag=imag(Z) %求虚部
Conj=conj(Z) %求共轭复数 Abs=abs(Z) %求模 theta=angle(Z) %求辐角 运行结果为: Z =
1/26-5/26i -1/17-47/17i 23/2-21/2i 0+6i
Real =
1/26 -1/17 23/2 0
Imag =
-5/26 -47/17 -21/2 6
Conj =
1/26+5/26i -1/17+47/17i 23/2+21/2i 0-6i Abs =
1020/5201 1037/375 2258/145 6
theta =
-537/391 -2369/1488 -1181/1596 355/226
2.4 复数的乘除法
运算符:* %乘法:模相乘,辐角相加 / %除法:模相除,辐角相减 例3
>> z1=2*exp(pi/6i) >> z1*z2 z1 = ans =
1.7321 - 1.0000i 5.6943 -12.7896i >> z2=7*exp(pi/5i) >> z1/z2 z2 = ans =
5.6631 - 4.1145i 0.2841 + 0.0299i >> z3=7*exp(pi/5*i) z3 =
5.6631 + 4.1145i
注意:1/5i = 1/(5*i),而1/5i≠1/5*i = (1/5)*i 【课本习题】(P10,12) (a)-2i(3+i)(2+4i)(1+i) (b)
(3?4i)(?1?2i)
(?1?i)(3?i)解:在MATLAB编辑器中建立M文件Example3.m: clc
format rat %有理数表示 a=-2i*(3+i)*(2+4i)*(1+i)
b=(3+4i)*(-1+2i)/((-1-i)*(3-i))
Conjugate=conj([a,b]) %求共轭复数 运行结果为: a =
32+24i b =
2-3/2i Conjugate =
32-24i 2+3/2i
2.5 复数的平方根
函数:sqrt
格式:sqrt (z) %返回复数z的平方根值
2.6 复数的幂运算
运算符:^
格式: z^n %返回复数z的n次幂
例4 计算:z1?(1?i) z2?8?1 z3?(1?i) 解:在MATLAB命令窗口键入: >> z1=(1+i)^5 z1 =
-4.0000 - 4.0000i >> z2=(-1)^(1/8) z2 =
0.9239 + 0.3827i %取k = 0之值 >> z3=(1-i)^(1/3) z3 =
1.0842 - 0.2905i %取k = 0之值 【课本习题】(P13,41) (i)(?16) (j)(?8?83 i)1/4
解:在MATLAB编辑器中建立M文件Example4.m: clc
z1=(-16)^(1/4)
z2=(-8-8*sqrt(3)*i)^(1/4)
%matlab求解时只能给出n=0的值 运行结果为: z1 =
1393/985+ 1393/985i %取k = 0之值 z2 =
1351/780-1i %取k = 0之值 2.7 复数的指数运算和对数运算
函数:exp %指数运算 log %对数运算
格式:exp (z) %返回复数z的以e为底的指数函数值 log (z) %返回复数z的以e为底的对数函数值
2i例5 计算:z1?e3 z2?5 z3?(1?i) z4?log(?3?4i) 解:在MATLAB窗口键入: >> z1=exp(1+i*pi/3) z1 =
1.3591 + 2.3541i
>> z2=exp(i*log(5)) %或 >> z2=5^i z2 =
-0.0386 + 0.9993i
1?i5131/4?i
相关推荐: