数字的结果是什么。^ 0.034?

时间:2016-04-20 03:36:40

标签: matlab

这是 texture.mat 中的矩阵(名为纹理),您可以下载here

纹理中的整数是双数。 但是texture.^0.034中的所有数字都是复数。

我在 Mathematica 中测试了这个:

Counts@Flatten@Map[Head, texture^0.034, {2}]
  

< | Real - > 11539,复合物 - > 4845 |>

发生什么事了?如何获得实数?

2 个答案:

答案 0 :(得分:1)

你不会得到一个真实的数字。假设您的号码为x,其中包含正值和负值。让y = x.^0.034。记录两侧以获得:

log y = 0.034*log x
y = exp(0.034*log x)

如果x<0,您将得到一个复杂的输出,因为log x的{​​{1}}很复杂。

答案 1 :(得分:1)

另一种方法(如果你不喜欢log s)是从根本上考虑它:

x.^0.034 = x.^(34/1000) = x.^(17/500) = (x.^1/500).^17

这是x的第500个根,为17的幂。对于x<0x的第500个根当然会很复杂,所以你会得到一个复杂的结果。