Как в Matlab сделать результат кубического корня однозначным?
Почему в Matlab результат кубического корня может быть правильным, но не однозначным? Например,
>> (-5-3)^(1/3)
ans =
1.0000 + 1.7321i
А если сразу:
>> -8^(1/3)
ans =
-2
Понятно, что в обоих случаях извлекается кубический корень из -8, но ответ-то разный, хотя и правильный в обоих случаях.
Как можно контролировать, какой результат нужно получить - комплексный или действительный?
Источник: Stack Overflow на русском