[問題] 這是Matlab的bug嗎?已回收

看板MATLAB作者 (映文)時間16年前 (2009/07/23 20:47), 編輯推噓2(209)
留言11則, 7人參與, 最新討論串1/1
>> aa=[-0.0014;-0.0016;-0.0017;-0.0019;-0.0032]; >> aa.^0.1 ans = 0.4930 + 0.1602i 0.4996 + 0.1623i 0.5026 + 0.1633i 0.5083 + 0.1651i 0.5355 + 0.1740i >> aa(1)^0.1 ans = 0.4930 + 0.1602i >> -0.0014.^0.1 ans = -0.5183 不知道這算不算是問題? 但是要怎麼避免矩陣的根號運算出現複數的答案呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.130.52

07/23 21:24, , 1F
這不是一定會出現複數嗎?應該說有複數才是正確答案吧?
07/23 21:24, 1F

07/23 21:26, , 2F
只取實數部的話可以用real() 取虛數部可以用imag()
07/23 21:26, 2F

07/23 22:11, , 3F
那為什麼-0.0014.^0.1會算出-0.5183?
07/23 22:11, 3F

07/23 23:09, , 4F
(-0.0014).^0.1 試試
07/23 23:09, 4F

07/23 23:09, , 5F
-0.0014.^0.1 = -(0.0014^0.1)
07/23 23:09, 5F

07/24 01:41, , 6F
matlab的運算是次方->乘除->加減
07/24 01:41, 6F

07/24 01:42, , 7F
矩陣的話是([-0.0001 ......])^0.1 直接打會判斷-(0.001^0.1)
07/24 01:42, 7F

07/24 01:43, , 8F
我覺得你應該要-1*[正矩陣]^0.1
07/24 01:43, 8F

07/24 19:32, , 9F
不是MATLAB有bug 該去重修數學
07/24 19:32, 9F

07/25 11:05, , 10F
樓上有酸XD
07/25 11:05, 10F

07/25 22:16, , 11F
樓樓上 似乎會錯意了..有點丟臉...噗雌
07/25 22:16, 11F
文章代碼(AID): #1AQ5lZYZ (MATLAB)
文章代碼(AID): #1AQ5lZYZ (MATLAB)