为什么 (-2)^(0.2)在matlab中得到的结果是虚数呢?
为什么 (-2)^(0.2)在matlab中得到的结果是虚数呢?ans =
0.9293 + 0.6752i
而计算器计算(-2)^(0.2)的结果为-1.148698,正确结果确实是-1.148698,为什么matlab的结果和计算器结果不一致? 全部方根计算如下:
a=-2;
m=;
R=abs(a)^0.2;
Theta=(angle(a)+2*pi*m)/5;
rrr=R*exp(i*Theta);
rrr =
Columns 1 through 4
0.9293 + 0.6752i-0.3550 + 1.0925i-1.1487 + 0.0000i-0.3550 - 1.0925i
Column 5
0.9293 - 0.6752i
其中 -1.1487 + 0.0000i就是你要的结果 如果直接用(-2)^0.2,那么只会返回第一个值(m=0),也就是返回第一象限的复数。
其实求a^b应该这样写程序
a=-2;b=0.2
r=a*abs(a)^(b-1) 好像有点明白了,谢谢楼上了
页:
[1]