复数 #

Math.js 支持复数的创建、操作和计算。复数支持由 complex.js 库提供支持。

在数学中,复数的形式为 a + bi,其中 ab 是实数,i 代表虚数单位,定义为 i^2 = -1。(换句话说,i-1 的平方根。)实数 a 称为复数的实部,实数 b 称为虚部。例如,3 + 2i 是一个复数,实部为 3,虚部为 2。复数常用于应用数学、控制理论、信号分析、流体动力学等领域。

用法 #

复数使用函数 math.complex 创建。此函数接受

语法

math.complex(re: number) : Complex
math.complex(re: number, im: number) : Complex
math.complex(complex: Complex) : Complex
math.complex({re: Number, im: Number}) : Complex
math.complex({r: number, phi: number}) : Complex
math.complex({abs: number, arg: number}) : Complex
math.complex(str: string) : Complex

示例

const a = math.complex(2, 3)     // Complex 2 + 3i
a.re                             // Number 2
a.im                             // Number 3

const b = math.complex('4 - 2i') // Complex 4 - 2i
b.re = 5                         // Number 5
b                                // Complex 5 - 2i

计算 #

Math.js 的大多数函数都支持复数。复数和实数可以混合使用。

const a = math.complex(2, 3)     // Complex 2 + 3i
const b = math.complex('4 - 2i') // Complex 4 - 2i

math.re(a)                       // Number 2
math.im(a)                       // Number 3
math.conj(a)                     // Complex 2 - 3i

math.add(a, b)                   // Complex 6 + i
math.multiply(a, 2)              // Complex 4 + 6i
math.sqrt(-4)                    // Complex 2i

API #

math.complex 创建的 Complex 对象包含以下属性和函数:

complex.re #

包含复数实部的数字。可读写。

complex.im #

包含复数虚部的数字。可读写。

complex.clone() #

创建复数的克隆。

complex.equals(other) #

测试一个复数是否等于另一个复数值。

两个复数相等,当且仅当它们的实部和虚部都相等。

complex.neg() #

返回一个复数,其负数的实部和虚部与当前复数具有相同的大小但符号相反。

complex.conjugate() #

返回一个复数,其共轭复数的实部与当前复数相同,虚部大小相同但符号相反。

complex.inverse() #

返回一个复数,该复数是当前复数的倒数。

complex.toVector() #

获取当前复数的向量表示。返回一个大小为 2 的数组。

complex.toJSON() #

返回复数的 JSON 表示,签名如下:{mathjs: 'Complex', re: number, im: number}。用于序列化复数时,请参阅 序列化

complex.toPolar() #

获取复数的极坐标,返回一个包含 rphi 属性的对象。

complex.toString() #

返回复数的字符串表示,格式为 a + bi,其中 a 是实部,b 是虚部。

complex.format([precision: number]) #

获取复数的字符串表示,格式为 a + bi,其中 a 是实部,b 是虚部。如果定义了精度,则单位值将四舍五入到提供的位数。

静态方法 #

可以通过 math.Complex 访问以下静态方法:

Complex.fromJSON(json) #

从 JSON 对象恢复复数。接受一个对象 {mathjs: 'Complex', re: number, im: number},其中 mathjs 属性是可选的。用于反序列化复数时,请参阅 序列化

Complex.fromPolar(r: number, phi: number) #

从极坐标创建复数。

Complex.compare(a: Complex, b: Complex) #

返回两个复数的比较结果。

示例

const a = math.complex(2, 3)   // Complex 2 + 3i
const b = math.complex(2, 1)   // Complex 2 + 1i
math.Complex.compare(a,b) // returns 1

//create from json 
const c = math.Complex.fromJSON({mathjs: 'Complex', re: 4, im: 3})  // Complex 4 + 3i
Fork me on GitHub