Problem with cubic root
9 views (last 30 days)
Show older comments
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 Comment
Dyuman Joshi
on 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?
Accepted Answer
Sam Chak
on 10 Sep 2023
nthroot(-1, 3)
4 Comments
Walter Roberson
on 10 Sep 2023
Edited: Walter Roberson
on 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
on 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.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!