使用 MATLAB 指数函数:
(-8)^0.333333
ans = 1.0000 + 1.7320i
怎么(-8)^0.333333 = -2
取而代之?
x=-10:-1;
x.^0.333333
如何获得真正的价值?
如何重新定义^
:
x.^y
到
sign(x).*abs(x.^y))
使用 MATLAB 指数函数:
(-8)^0.333333
ans = 1.0000 + 1.7320i
怎么(-8)^0.333333 = -2
取而代之?
x=-10:-1;
x.^0.333333
如何获得真正的价值?
如何重新定义^
:
x.^y
到
sign(x).*abs(x.^y))
-8 的立方根有 3 个可能的答案:-2, 1+/- sqrt(3)
你可能想要nthroot(-8,3) --> -2
MATLAB 7.0 提供了该NTHROOT
函数,它返回一个数字的实根。所以你的公式变成了NTHROOT(-8, 3) = -2
如果您使用的是 MATLAB 7.0 (R14) 之前的版本,请阅读以下内容:
要获得负实数“x”的实数立方根,而不是执行:
x.^(1/3)
使用命令:
sign(x).*abs(x.^(1/3))
这将找到根的绝对值并通过参数的符号对其进行修改。