我在Matlab中有一个程序要转换为R程序。
matlab程序是:
function R = cprob(N,A,B)
R = ((A.*B)*N)/(B*N)
end
在R中," *"成为" %*%"和" 。*"成为" *"。并且" /"?
答案 0 :(得分:0)
据我所知,"/"
你的意思是矩阵右分裂。
您可以使用mrdivide
frim pracma
包。请看一下这个。
https://www.rdocumentation.org/packages/pracma/versions/1.9.9/topics/mldivide
这将是您的代码:
library("pracma")
a1 = matrix(c(1,2,0,2,5,-1,4,10,-1),nrow=3,ncol=3)
a2 = matrix(c(1,2,4,2,5,10,0,-1,-1),nrow=3,ncol=3)
a3= matrix(c(1,0,0,0,1,0,0,0,1),nrow=3,ncol=3)
myfunction<-function (N,A,B) {
return(round(mrdivide((A*B)%*%N,B %*% N)))
}
result_matrix<-myfunction(a1,a2,a3)
它为您提供了您在评论中说明的结果。