How to get only real output from (-3)^(1/3)

4 次查看(过去 30 天)
(-3)^(1/3)
ans = 0.7211 + 1.2490i
I need the ans: -1.44224957.

回答(2 个)

Steven Lord
Steven Lord 2021-8-22
You can use the nthroot function.
y = nthroot(-3, 3)
y = -1.4422
  2 个评论
Walter Roberson
Walter Roberson 2021-8-22
... I went looking for that, as I thought I remembered it existing. It is not mentioned in the documentation for power() or realroot() .

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2021-8-22
format long g
syms x
solve(x^3==-3 & imag(x) == 0)
ans = 
double(ans)
ans =
-1.44224957030741
  3 个评论
Wan Ji
Wan Ji 2021-8-22
编辑:Wan Ji 2021-8-22
solve it with real syms
syms x real; % add real to make sure it is real
% following is what you want to
g(x) = ...;
x = solve(g(x)==x^(1/3))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by