Rで三次元のベクトルの計算


Rで外積

Rにベクトルの計算をさせていたら、通常の外積が無いことに気がついた。とりあえず、適当に定義してみた。

"%v%"<-function(x,y)c(x[2]*y[3]-x[3]*y[2],x[3]*y[1]-x[1]*y[3],x[1]*y[2]-x[2]*y[1])

これでa%v%bとすれば、ベクトル外積が計算できる。名前は平行六面体の体積を計算するときに使うので、vにしてみた。oもxもすでに使われているし。

"%v%"<-function(x,y)x[c(2,3,1)]*y[c(3,1,2)]-y[c(2,3,1)]*x[c(3,1,2)]

の方がRチックで良いかな。