所以我有一个任务说: 使自己的函数乘以两个矩阵(而不是使用%*%)。
我试过这个,但显然我不起作用......
isacs_funcion<- function (A,B){
result<- sum(as.vector(A) * as.vector(B))
return(matrix(A,B ))}
有人能帮助我吗?抱歉英文不好
答案 0 :(得分:1)
我们可以尝试使用嵌套的sapply
t(sapply(seq_len(ncol(m1)), function(i)
sapply(seq_len(nrow(m2)), function(j) sum(m1[i,] * m2[,j]))))
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1590 1865 2140 2415 2690
#[2,] 1730 2030 2330 2630 2930
#[3,] 1870 2195 2520 2845 3170
#[4,] 2010 2360 2710 3060 3410
#[5,] 2150 2525 2900 3275 3650
类似于
m1%*%m2
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1590 1865 2140 2415 2690
#[2,] 1730 2030 2330 2630 2930
#[3,] 1870 2195 2520 2845 3170
#[4,] 2010 2360 2710 3060 3410
#[5,] 2150 2525 2900 3275 3650
m1 <- matrix(1:25, 5, 5)
m2 <- matrix(26:50, 5, 5)