R语言中两个数组(或向量)的外积怎样计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言中两个数组(或向量)的外积怎样计算相关的知识,希望对你有一定的参考价值。

所谓数组(或向量)a和b的外积,指的是a的每个元素和b的每个元素搭配在一起相乘得到的新元素.当然运算规则也可自己定义.外积运算符为 %o%(注意:百分号中间的字母是小写的字母o).比如:

> a <- 1:2
> b <- 3:5
> d <- a %o% b
> d
     [,1] [,2] [,3]
[1,]    3    4    5
[2,]    6    8   10

注意维数公式为:
dim(d) = c( dim(a) , dim(b) )

实际上R语言提供了一个更为一般化得外积函数outer(X,Y,Fun),比較简单,看个演示样例吧.

以下的样例是为了绘制 z = x**2 +50cos(y)的3维表面图:

> x <- seq(from = -5, to = 5, by = 0.25)
> y <- seq(from = -2, to = 2, by = 0.1)
> f <- function(x,y){x**2+50*cos(y)}
> z <- outer(x,y,f)
> persp(x,y,z)

绘制图像例如以下:

技术分享

其他看帮助文档吧.







以上是关于R语言中两个数组(或向量)的外积怎样计算的主要内容,如果未能解决你的问题,请参考以下文章

计算任意维度数组的外积

如何在matlab中一次取两个以上矩阵的外积?

向量外积

R语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)

R语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)

为什么两个numpy (n,)向量的矩阵@乘积是点积,而不是外积?