我已經編寫了一個Rcpp代碼來計算R中元素明智的矩陣乘法。但是當試圖運行此代碼時R停止工作並退出。如何糾正這個功能?如何在R中編寫用於簡單矩陣乘法的Rcpp函數
在此先感謝。
library(Rcpp)
func <- 'NumericMatrix mmult(NumericMatrix m , NumericMatrix v, bool byrow=true)
{
if(! m.nrow() == v.nrow()) stop("Non-conformable arrays") ;
if(! m.ncol() == v.ncol()) stop("Non-conformable arrays") ;
NumericMatrix out(m) ;
for (int i = 1; i <= m.nrow(); i++)
{
for (int j = 1; j <= m.ncol(); j++)
{
out(i,j)=m(i,j) * v(i,j) ;
}
}
return out ;
}'
cppFunction(func)
m1<-matrix(1:4,2,2)
m2<-m1
r1<-mmult(m1,m2)
r2<-m1*m2
用你的例子,它運行,但'r1'和'r2'是不同的。 – 2015-07-28 08:28:58
我想讓我的r1輸出爲r2。如何用我的代碼做到這一點? – kondal
我不知道。您的功能適用於您的示例,無需退出。修改你的功能。 – 2015-07-28 08:32:53