函数,它获取两个向量并返回R中的矩阵z=f(x,y)
我试图定义一个标量函数函数,它获取两个向量并返回R中的矩阵z=f(x,y),r,function,matrix,R,Function,Matrix,我试图定义一个标量函数a和b,其中a和b是向量,因此我可以使用persp(a,b,z)绘制z=f(X,y)的曲面图 问题是,当我需要一个矩阵时,我的函数的返回值是一个与向量a长度相同的向量 有关职能是: logver <- function(a, b, PARAM) { l <- (1 / (1 + exp(-a - b * PARAM))) return(l) } logver试试这个 logover <- function(a, b, PARAM){ L
a
和b
,其中a
和b
是向量,因此我可以使用persp(a,b,z)
绘制z=f(X,y)
的曲面图
问题是,当我需要一个矩阵时,我的函数的返回值是一个与向量a长度相同的向量
有关职能是:
logver <- function(a, b, PARAM) {
l <- (1 / (1 + exp(-a - b * PARAM)))
return(l)
}
logver试试这个
logover <- function(a, b, PARAM){
L <- (1 / (1 + exp(-a-b*PARAM)))
return(L)
}
logover如果您想要a
和b
的所有可能组合,请使用outer
logver <- function(a, b, PARAM)
{
o <- outer(a, b*PARAM, `+`)
1/(1 + exp(-o))
}
logver返回(l)部分位于另一行,带有缩进,由于某种原因,当我复制并粘贴到这里时,它一直被忽略。PARAM是一个正则数,比如说2。a和b是使用seq(-10,10,by=0.01)生成的,问题是,我希望得到a和b的每个值的值;一个矩阵,当我得到一个向量(长度为2001)时。当你使用seq(-10,10,by=0.01)时,它返回两个值,因此返回2001个值。您需要决定可以跳过左侧或右侧的哪个值。您可以将其更改为seq(-9.99,10,by=0.01)或seq(-10,9.99,by=0.01)。这将只给出2000个值。问题不是函数作为参数的向量,问题是我得到一个向量作为输出值,而我想要一个矩阵,你可以尝试返回(矩阵(L,1000,2))来获得矩阵形式。或者您可以显示您期望的示例输出。