

在实数范围内,有些运算仍然不能进行,比如
、
等等复数开偶次方的情况无法计算,为了使这种情况有解,便将数集扩充,便有了复数集。
复型(复数类型):我们把形如
的数称为 复数。
在 matlab 中的复数就称为 复型(没有历史考证,看的网上有人这么叫,可能不专业)。
一般情况下没有使用复型的必要,所以没有特殊需求的小伙伴可以跳过本节哦😲!
复型(复数类型):我们把形如
的数称为 复数,例如 10 + 3i、-1 + 10i、6 - 8i 等等。
a 称为 实部b 称为 虚部i 称为 虚数单位当实部a为 0 ,虚部b不为 0 时,复数z为 纯虚数。当实部b为 0 时,复数z为 实数。
定义两个复数 :
、
。
复数的和仍然是复数,将实部与实部相加,虚部与虚部相加即可。(相同单位的加在一起)
复数的乘积也仍是一个复数,和初中学习的多项式相乘差不多。
由于:
复数的模:复数的实部与虚部的平方和的正的平方根的值,记作
。
若
,则共轭复数
。
共轭复数有以下几点给常见的性质,利用这些性质能够帮助我们更好地计算。
,
复数的模与辐角是复数三角形式表示的两个基本元素
θ就是 辐角。
则有 :
由直角坐标与极坐标的关系可知,非零有穷复数
可以用其模
与辐角
来表示,则有:
复数的创建有两种方式,直接创建 与 使用complex()函数创建 。
在 matlab 中,i 和 j 表示基本虚数单位,可以使用它们来创建复数。
>> a=1+2i
a =
1.0000 + 2.0000i
>>
>> b=1+2j
b =
1.0000 + 2.0000i
>>
>> whos
Name Size Bytes Class Attributes
a 1x1 16 double complex
b 1x1 16 double complexmatlab 中也提供了 complex() 函数用来创建 复数类型,使用方式如下:
>> c = complex(1,2)
c =
1.0000 + 2.0000i
>>
>> whos
Name Size Bytes Class Attributes
a 1x1 16 double complex
b 1x1 16 double complex
c 1x1 16 double complex abs() 函数用于返回复数 z 的模,使用如下:
>> z = 1 + 2i
z =
1.0000 + 2.0000i
>>
>> abs(z) %返回复数的模
ans =
2.2361imag() 函数用于返回复数 z 的虚部real() 函数用于返回复数 z 的实部使用代码如下:
>> z = 1 + 2i
z =
1.0000 + 2.0000i
>>
>> imag(z) %返回复数的虚部
ans =
2
>>
>> real(z) %返回复数的实部
ans =
1conj() 用于计算复数 z 的共轭复数。使用如下:
>> z = 1 + 2i
z =
1.0000 + 2.0000i
>>
>> conj(z) %计算复数的共轭复数
ans =
1.0000 - 2.0000iangle() 函数用于计算复数 z 的辐角。使用如下:
>> z = 1 + 2i
z =
1.0000 + 2.0000i
>>
>> angle(z) %计算复数的辐角
ans =
1.1071complex() 函数不仅可以向上面一样创建复数,也可以用来创建复数数组。使用如下:
>> a = double([1;2;3;4]) %复数的实部
a =
1
2
3
4
>>
>> b = double([5;6;7;8]) %复数的虚部
b =
5
6
7
8
>>
>> z = complex(a,b) %创建复数数组
z =
1.0000 + 5.0000i
2.0000 + 6.0000i
3.0000 + 7.0000i
4.0000 + 8.0000i