度数扩展、根提取和对数化¶
本例展示了求度、求根、求指数和求对数的不同方法
度数展开¶
让我们设置一个维数为 3 的整数方阵$X$$\times$ 3。
X = [3 1 4
5 1 3
2 8 7];
将矩阵提升到$Y=X^n$ 的程度,等于矩阵乘以自身的$X$ ,再乘以自身的$n-1$ 倍。
X ^ 2
将矩阵逐元素扩展到一度等于矩阵本身的逐元素乘法。例如:$Y =X^2= X \odot X$ 。
X .^ 2
以下表达式可用于带赋值的阶乘展开:
X ^= 2
X = [3 1 4
5 1 3
2 8 7];
X .^= 2
也支持升高到负度数:
X = [3 1 4
5 1 3
2 8 7];
X ^ (-3)
这种操作相当于将逆矩阵$X^{-1}$ 本身乘以$n-1$ 倍。
isequal(X^(-3), inv(X)^3)
让我们来考虑一下以有理数或浮点数为指数的升度:
Q = 2//3;
q = 2/3;
X ^ Q
isequal(X^Q, X^q)
求根¶
计算矩阵平方根有几种方法$Y = \sqrt{X}$ :
- 使用函数
sqrt()
; - 通过增加度数$\frac{1}{2}$ ;
- 使用平方根运算符
√
。
sqrt(X)
isequal(√X,sqrt(X))
对于每一种平方根提取方法,都有其逐个元素的类似方法:
sqrt.(X)
isequal(.√X,sqrt.(X)) && isequal(X.^(0.5),sqrt.(X))
要计算整数平方根,可以使用函数isqrt()
:
isqrt(26)
您可以通过几种方法计算立方根$y = \sqrt[3]{x}$ :
- 使用函数
cbrt()
; - 使用立方根运算符
∛
。
x = 1e3;
cbrt(x)
isequal(∛x,cbrt(x))
矩阵的立方根和大阶根的计算$n$ ,只能通过度数展开$\frac{1}{n}$ 。
对于运算∛
和函数cbrt()
,也可以对矩阵进行逐元素计算。
cbrt.(X)
isequal(.∛x,cbrt.(x))
请注意,在计算负实数的偶次根时会出错。在这种情况下,必须将子根表达式转换为复数表示,才能进行正确计算。
sqrt(complex(-1))
指数和指数函数¶
计算一个数字的指数的方法如下:
exp(1)
要准确计算$exp(a)-1$ ,且$a$ 接近零,可以使用函数expm1()
expm1(eps()/10)
作为比较,使用函数exp()
计算$a$ 接近零点的结果:
exp(eps()/10)-1.0
还有以 2 为底和以 10 为底计算度数的函数。
exp2(10)
exp10(7)
为了从表达式$x\cdot2^{n}$ 高效计算度数,我们使用函数ldexp(x,n)
,其中 x 是浮点数,n 是整数。
ldexp(2.0,10)
对数化¶
函数log()
.用于计算自然对数。
log(exp(1))
您还可以计算基数为 2 和 10 的对数:
log2(2048)
log10(1e-6)
使用函数log(a,b)
可以计算$x=log_a{b}$ 在给定基数$a$ 上的对数。
log(8,512)
要精确计算 x 接近零时的自然对数log(x+1)
,可使用函数:
log1p(eps()/10)
作为比较,标准函数log(1+x)
将得出以下结果:
log(1+eps()/2)
输出¶
在本演示中,我们介绍了使用运算和函数计算度、根、指数和对数的基本技巧。有关这些运算和函数的更多信息,请参阅 Engee [数学运算和基本函数] 文档 (https://engee.com/helpcenter/stable/julia/manual/mathematical-operations.html)。