R中对于matlab /等效运算符是什么

时间:2017-11-16 17:41:31

标签: r matlab

我在Matlab中有一个程序要转换为R程序。

matlab程序是:

function R = cprob(N,A,B)
    R = ((A.*B)*N)/(B*N)
end

在R中," *"成为" %*%"和" 。*"成为" *"。并且" /"?

1 个答案:

答案 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)

它为您提供了您在评论中说明的结果。