Этот сюжет Google не имеет смысла для меня.Для x > 0
это нормально, но для отрицательных значений x
правильный результат сложный, и на графике Google отображается отрицательное значение абсолютного значения , что странно.
Ниже вы можете увидеть вывод Matlab, который менее суетлив относительно типов, чем Джулия.Как вы можете видеть, это не соответствует вашему графику.
Из графика видно, что положительные значения x
дают действительные значенияответ, в то время как отрицательный x
дает комплексный ответ.Причина, по которой Джулия допускает отрицательные входные данные, заключается в том, что они очень заинтересованы в стабильности типов.Наличие выходного типа функции зависит от входного значения , что приведет к нестабильности типа, что вредит производительности.Это менее важно для Matlab или Python и т. Д.
Если вы хотите построить график, аналогичный приведенному выше в Julia, вы можете определить свою функцию следующим образом:
f = x -> sign(x) * abs(complex(x)^(1/3))
Редактировать: На самом деле, лучшая и более быстрая версия -
f = x -> sign(x) * abs(x)^(1/3)
Да, это выглядит неловко, но это потому, что вам нужен действительно странный сюжет, который не имеет смысла для функции x^(1/3)
.