为什么matlab中下面三个数值不同: w1=a^(2/3); w2=(a^2)^(1/3) ;w3=(a^(1/3))^2 (其中a=-8);
答案:3 悬赏:30 手机版
解决时间 2021-02-24 10:30
- 提问者网友:末路
- 2021-02-24 04:05
为什么matlab中下面三个数值不同: w1=a^(2/3); w2=(a^2)^(1/3) ;w3=(a^(1/3))^2 (其中a=-8);
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-24 05:18
计算结果是:
w1 = -2.0000 + 3.4641i
w2 = 4.0000
w3 = -2.0000 + 3.4641i
可以看出在计算上w1式时,先算a^(1/3)=-2.0000 + 3.4641i,然后再平方的,其效果和计算w3一样的。
数学上定义2/3次方计算时,是先平方再开3次方,所以应该按w2的方法计算,这样得出正确结果。
w1 = -2.0000 + 3.4641i
w2 = 4.0000
w3 = -2.0000 + 3.4641i
可以看出在计算上w1式时,先算a^(1/3)=-2.0000 + 3.4641i,然后再平方的,其效果和计算w3一样的。
数学上定义2/3次方计算时,是先平方再开3次方,所以应该按w2的方法计算,这样得出正确结果。
全部回答
- 1楼网友:动情书生
- 2021-02-24 06:55
可能是因为数据类型的问题。
- 2楼网友:动情书生
- 2021-02-24 05:39
从数学角度来说,一元三次方程由三个根,即应该有三个x都可以满足方程x^3=-8,而我们所说的1/3次方只是其中的实数根,采用MATLAB求解时有时会选取复数根,为了避免可以用函数nthroot实现,比如
nthroot(-8,3)%表示-8开三次方,返回值为-2
(-8)^(1/3)%返回值为1.0000 + 1.7321i,实为上面方程的复数根
nthroot(-8,3)%表示-8开三次方,返回值为-2
(-8)^(1/3)%返回值为1.0000 + 1.7321i,实为上面方程的复数根
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯