我是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"