在矩阵中使用函数作为元素:R



我是R的新手,正在尝试在其中做功课。我看了很多地方,找不到任何关于如何制作包含函数的矩阵的说明。我需要我的矩阵 [A] 中包含 cos(x) 和 sin(x) 等函数,然后我需要能够计算 [A(o 度)] 或 [A(30 度)] 等等。有什么办法可以做到这一点吗?感谢您的帮助

这是在矩阵中存储函数的另一种方法:

M <- matrix( c( function(x) {cos(x)},
                function(x) {sin(x)},
                function(x) {tan(x)},
                function(x) {asin(x)}), 
             2,2)
 M[1,1]
#-------
[[1]]
function (x) 
{
    cos(x)
}

要访问每个列表的内容(从矩阵对象中提取后),您需要使用 [[ ,然后它可以用作函数:

 M[1,1][[1]](pi)
#[1] -1

斯克里文的建议也有效,当然更经济:

> M2 <- matrix( c(cos, sin, tan, asin), 2,2)
> M2
     [,1] [,2]
[1,] ?    ?   
[2,] ?    ?   
> M2[1,1][[1]](pi)
[1] -1
> class(M2[1,1])
[1] "list"
> class(M2[1,1][[1]])
[1] "function"

相关内容

  • 没有找到相关文章

最新更新