ベクトルがv2 = c(50,30,10,5)
あり、 とそれ自体の間の角度を計算したいv2
とします (つまり、角度は 0 でなければなりません)。次のコードを使用します。
norm_vec = function(x) sqrt(sum(x^2))
それから私は電話します
acos( as.numeric((v2 %*% v2) / (norm_vec(v2) * norm_vec(v2))) )
ただし、0 を取得する代わりに、次の警告メッセージが表示されました。
Warning message:
In acos(as.numeric((v2 %*% v2)/(norm_vec(v2) * norm_vec(v2)))) :
NaNs produced
の値as.numeric((v2 %*% v2) / (norm_vec(v2) * norm_vec(v2)))
は実際には 1 の数値であるため、確認しました。また、結果も確認acos(1)
しましたが、結果は 0 です。私のコードの何が問題なのですか? ありがとう!