Why y is a complx number? y = x.^(2/3)
1 回表示 (過去 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 で Error Functions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!