Why y is a complx number? y = x.^(2/3)
3 次查看(过去 30 天)
显示 更早的评论
x = -10:1:10
y = x.^(2/3)
Actually I try to plot y = x^(2/3)but I get warning from Matlab.
I try fplot(x^(2/3)[-10,10])
0 个评论
采纳的回答
Azzi Abdelmalek
2013-4-14
编辑:Azzi Abdelmalek
2013-4-14
use
y=abs(x.^(2/3))
You are calculating the roots of negative numbers, they are obviously complex
(-10)^(2/3) is ((-10)^(1/3))^2
0 个评论
更多回答(1 个)
Walter Roberson
2013-4-15
编辑:Walter Roberson
2013-4-15
Remember, in MATLAB, (2/3) is 0.333333<etc>, a floating point number, rather than being the indicator of taking the square of the third root of the number.
In MATLAB, when you raise a value to a non-integer power, the result x^y is defined as exp( log(x) * y). When x is negative, log(x) is complex. Multiplying a complex number by a floating point number is going to give you a complex number. exp() of a complex number is usually a complex number.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!