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

3 visualizaciones (últimos 30 días)
Apurbo Roy Chowdhury
Apurbo Roy Chowdhury el 22 de Ag. de 2021
Comentada: Apurbo Roy Chowdhury el 23 de Ag. de 2021
(-3)^(1/3)
ans = 0.7211 + 1.2490i
I need the ans: -1.44224957.

Respuestas (2)

Steven Lord
Steven Lord el 22 de Ag. de 2021
You can use the nthroot function.
y = nthroot(-3, 3)
y = -1.4422
  2 comentarios
Walter Roberson
Walter Roberson el 22 de Ag. de 2021
... I went looking for that, as I thought I remembered it existing. It is not mentioned in the documentation for power() or realroot() .
Apurbo Roy Chowdhury
Apurbo Roy Chowdhury el 23 de Ag. de 2021
nthroot worked, thanks.

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 22 de Ag. de 2021
format long g
syms x
solve(x^3==-3 & imag(x) == 0)
ans = 
double(ans)
ans =
-1.44224957030741
  3 comentarios
Wan Ji
Wan Ji el 22 de Ag. de 2021
Editada: Wan Ji el 22 de Ag. de 2021
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))
Apurbo Roy Chowdhury
Apurbo Roy Chowdhury el 23 de Ag. de 2021
It shows x=0.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by