Engee 文档
Notebook

指数化、根提取和对数化

此示例显示了查找度、根、指数和对数的不同方法。

指数化

让我们定义一个方阵 维度3的整数$\times$3.

In [ ]:
X = [3 1 4
     5 1 3
     2 8 7];

矩阵的指数化 相当于矩阵乘法 看看你自己 有一次。

In [ ]:
X ^ 2
Out[0]:
3×3 Matrix{Int64}:
 22  36  43
 26  30  44
 60  66  81

矩阵的指数化相当于矩阵本身的零碎乘法。 例如: .

In [ ]:
X .^ 2
Out[0]:
3×3 Matrix{Int64}:
  9   1  16
 25   1   9
  4  64  49

以下表达式可用于赋值的指数化:

In [ ]:
X ^= 2
Out[0]:
3×3 Matrix{Int64}:
 22  36  43
 26  30  44
 60  66  81
In [ ]:
X = [3 1 4
     5 1 3
     2 8 7];
X .^= 2
Out[0]:
3×3 Matrix{Int64}:
  9   1  16
 25   1   9
  4  64  49

还支持负指数化。:

In [ ]:
X = [3 1 4
     5 1 3
     2 8 7];
X ^ (-3)
Out[0]:
3×3 Matrix{Float64}:
  0.057581   -0.051794     -0.00260417
  0.0529514  -0.000868056  -0.0257523
 -0.0792824   0.0353009     0.0225694

该操作对应于逆矩阵的乘法 看看你自己 有一次。

In [ ]:
isequal(X^(-3), inv(X)^3)
Out[0]:
true

考虑用有理数或浮点数形式的指数求幂:

In [ ]:
Q = 2//3;
q = 2/3;
X ^ Q
Out[0]:
3×3 Matrix{ComplexF64}:
   2.33466+2.22045e-16im  -0.261273-4.44089e-16im   1.58405+1.11022e-16im
   2.70242-3.33067e-16im   0.774717+0.0im          0.882171+1.11022e-16im
 -0.210172+0.0im            3.68872+0.0im           3.50221-2.22045e-16im
In [ ]:
isequal(X^Q, X^q)
Out[0]:
true

根提取

计算矩阵的平方根 有几种方法可以做到这一点:

*使用功能 sqrt();
*指数化 ;
*使用平方根运算符 .

In [ ]:
sqrt(X)
Out[0]:
3×3 Matrix{Float64}:
  2.02239   -0.373716  0.907713
  1.79475    0.866793  0.401277
 -0.461978   2.29118   2.5495
In [ ]:
isequal(X,sqrt(X))
Out[0]:
true

对于提取平方根的每种方法,都有其元素模拟。:

In [ ]:
sqrt.(X)
Out[0]:
3×3 Matrix{Float64}:
 1.73205  1.0      2.0
 2.23607  1.0      1.73205
 1.41421  2.82843  2.64575
In [ ]:
isequal(.√X,sqrt.(X)) && isequal(X.^(0.5),sqrt.(X))
Out[0]:
true

要计算整数平方根,可以使用函数 isqrt():

In [ ]:
isqrt(26)
Out[0]:
5

计算立方根 有几种方法可以做到这一点:

*使用功能 cbrt();
*使用多维数据集根运算符 .

In [ ]:
x = 1e3;
cbrt(x)
Out[0]:
10.0
In [ ]:
isequal(x,cbrt(x))
Out[0]:
true

计算矩阵的立方根和大订单的根 这是可能的,只有通过指数 .

对于操作 和功能 cbrt() 零碎矩阵计算也是可用的.

In [ ]:
cbrt.(X)
Out[0]:
3×3 Matrix{Float64}:
 1.44225  1.0  1.5874
 1.70998  1.0  1.44225
 1.25992  2.0  1.91293
In [ ]:
isequal(.∛x,cbrt.(x))
Out[0]:
true

需要注意的是,当计算负实数的偶数阶的根时,会产生错误。 为了在这种情况下进行正确的计算,必须将根表达式转换为复杂的表示形式。

In [ ]:
sqrt(complex(-1))
Out[0]:
0.0 + 1.0im

指数和指数函数

数的指数的计算如下执行:

In [ ]:
exp(1)
Out[0]:
2.718281828459045

用于精确计算 ,当 接近零,您可以使用该功能 expm1()

In [ ]:
expm1(eps()/10)
Out[0]:
2.2204460492503132e-17

为了比较,计算的结果是 接近零。 exp():

In [ ]:
exp(eps()/10)-1.0
Out[0]:
0.0

还有基于基数2和10计算度数的功能。

In [ ]:
exp2(10)
Out[0]:
1024.0
In [ ]:
exp10(7)
Out[0]:
1.0e7

从表达式中有效地计算度 该函数用于 ldexp(x,n),其中x是浮点数,n是整数。

In [ ]:
ldexp(2.0,10)
Out[0]:
2048.0

对数化

要计算自然对数,使用函数 log().

In [ ]:
log(exp(1))
Out[0]:
1.0

您还可以根据基数2和10计算对数。:

In [ ]:
log2(2048)
Out[0]:
11.0
In [ ]:
log10(1e-6)
Out[0]:
-6.0

对数 在给定的基础上 使用函数计算 log(a,b).

In [ ]:
log(8,512)
Out[0]:
3.0

用于精确计算自然对数 log(x+1) 对于接近零的x,使用函数:

In [ ]:
log1p(eps()/10)
Out[0]:
2.2204460492503132e-17

为了比较,标准功能 log(1+x) 它会给出以下结果:

In [ ]:
log(1+eps()/2)
Out[0]:
0.0

结论

在本演示中,我们介绍了使用运算和函数计算度、根、指数和对数的基本技术。 有关所列操作和功能的其他信息可在Engee文档中找到。数学运算和初等函数