R中从输入向量x,y和用户定义函数f(x,y)生成输出矩阵Z的简单方法

R中从输入向量x,y和用户定义函数f(x,y)生成输出矩阵Z的简单方法,r,R,我是新来R的。虽然这个问题听起来很简单,但我还没有在文档中找到一个简单的方法。到目前为止,我提出的生成Z的最佳方法如下。但肯定有一些内在的功能 函数的示例 grid_size <- 10 x <- seq(0,1,length.out =grid_size) y <- seq(0,1,length.out =grid_size) xgrid <- matrix(x, nrow=grid_size, ncol=grid_size, byrow=TRUE) ygrid

我是新来R的。虽然这个问题听起来很简单,但我还没有在文档中找到一个简单的方法。到目前为止,我提出的生成Z的最佳方法如下。但肯定有一些内在的功能

函数的示例

grid_size <- 10

x <- seq(0,1,length.out =grid_size) 
y <- seq(0,1,length.out =grid_size)

xgrid <- matrix(x, nrow=grid_size, ncol=grid_size, byrow=TRUE)
ygrid <- matrix(x, nrow=grid_size, ncol=grid_size, byrow=FALSE)


f2v <- function(xgrid, ygrid) { 
  return (1 - xgrid + xgrid*ygrid)
}

Z <- f2v(xgrid, ygrid)

grid\u size使用
outer

grid_size <- 10

x <- seq(0 ,1, length.out = grid_size) 
y <- seq(0, 1, length.out = grid_size)

t(outer(x, y, function(x,y) 1 - x + x*y))

grid\u size使用
outer

grid_size <- 10

x <- seq(0 ,1, length.out = grid_size) 
y <- seq(0, 1, length.out = grid_size)

t(outer(x, y, function(x,y) 1 - x + x*y))

网格大小那么您的解决方案有什么问题?如果x和y都是向量,那么
x那么您的解决方案有什么问题?如果x和y都是向量,那么
x谢谢!这正是我想要的。谢谢!这正是我想要的。