MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 含负数的数组的分数次幂怎么不对?? (https://www.labfans.com/bbs/showthread.php?t=7710)

iamhuxiaolei 2009-04-15 15:11

含负数的数组的分数次幂怎么不对??
 
[SIZE="2"]>> a=[-1 -0.5 -0.2]'

a =

-1.0000
-0.5000
-0.2000
>> a.^(1/3)

ans =

0.5000 + 0.8660i
0.3969 + 0.6874i
0.2924 + 0.5065i[/SIZE]
不是应该返回几个[COLOR="DarkRed"]负数[/COLOR]么,怎么是[COLOR="DarkRed"]复数[/COLOR]

zy0113 2009-04-15 15:44

回复: 含负数的数组的分数次幂怎么不对??
 
-1开平方或次方都会产生复数。

iamhuxiaolei 2009-04-16 15:13

回复: 含负数的数组的分数次幂怎么不对??
 
但是单个数的时候就不存在这个问题,想不明白怎么回事。
>> -0.5^(1/3)

ans =

-0.7937
>> -1^(1/3)

ans =

-1

laosam280 2009-04-17 12:56

回复: 含负数的数组的分数次幂怎么不对??
 
建议你用点小小的技巧噻:
a=[-1 -0.5 -0.2];
b=-abs(a.^(-1/3))
因为Matlab很多运算都是按照复数规则进行的,比如矩阵的转置等等


所有时间均为北京时间。现在的时间是 11:03

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.