Problem with cubic root
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
When I try to get the cubic root of -1 (which should be -1) I get this:
(-1).^(1/3)
How do I fix this?
1 commentaire
Dyuman Joshi
le 10 Sep 2023
What is there to fix? That is one of the 3 cube roots of -1.
Do you wish to obtain -1 as the output?
Réponse acceptée
Sam Chak
le 10 Sep 2023
nthroot(-1, 3)
4 commentaires
Walter Roberson
le 10 Sep 2023
Modifié(e) : Walter Roberson
le 10 Sep 2023
I put in the condition that when A is negative
A = -rand(1,1e6) * 100000;
l1 = log(A);
l2 = log(-A) + log(-1);
nnz(l1 ~= l2)
Bit for bit equality.
Bruno Luong
le 11 Sep 2023
I know it is true for negative A, but readers might wonder out the blue where this come from: "log(A) is log(-A)+log(-1)"?
And next why log(-1) is 1i*pi (and not -1i*pi)? Of course one can check it with MATLAB command.
log(A) = log(abs(A)) + 1i*angle(A)
why not start with that?
And btw log(A) = log(abs(A)) + 1i*angle(A) is not entirely true either in some special values of A.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!