Re: [問題] 求兩向量夾角已回收

看板MATLAB作者 (小太保)時間16年前 (2009/03/09 20:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《s31039 (Brice)》之銘言: : 在三維空間中 : 我想知道如何去求兩向量之間的夾角角度 : 爬過文後使用餘弦定理去試過 : 但是只有特定的向量才會跑出合理的角度 : 大部分都會跑出奇怪的複數出來 : 請問該如何算此類問題呢? : 謝謝 我猜你的問題是底下這樣... >> A=[1 1 1]; >> B=[-1 -1 -1]'; >> C=(A*B)/(sqrt(1^2+1^2+1^2)*sqrt(-1^2+-1^2+-1^2)); >> d=acos(C) d = 1.5708 - 0.8814i >> C C = 0 + 1.0000i % C 怪怪的 >> A*B ans = -3 % 內積沒問題 >> sqrt(1^2+1^2+1^2)*sqrt(-1^2+-1^2+-1^2) ans = 0 + 3.0000i % 問題出在這 如果你也是上述寫法,就改一下... >> sqrt(1^2+1^2+1^2)*sqrt((-1)^2+(-1)^2+(-1)^2) ans = 3.0000 % 把上面的 -1 用括號括起來 >> C=(A*B)/(sqrt(1^2+1^2+1^2)*sqrt((-1)^2+(-1)^2+(-1)^2)) C = -1.0000 % C 就正常了 >> d=acos(C) d = 3.1416 - 0.0000i 答案就是 π 囉^^ 我剛剛還有查到 norm 這個函數你可以用用 >> C=(A*B)/(norm(A)*norm(B)) 答案是一樣的. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: laechan 來自: 192.192.102.143 (03/09 20:10)

03/09 20:31, , 1F
真是幫了大忙,非常感謝你呢^^
03/09 20:31, 1F
文章代碼(AID): #19jGOtaK (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19jGOtaK (MATLAB)