Я написал код Rcpp для вычисления умножения элемента в матрице в R. Но при попытке запустить этот код R перестает работать и выходит. Как исправить эту функцию?Как написать функцию Rcpp для простого умножения матрицы в R
Заранее спасибо.
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' отличаются. –
Я хочу получить свой выход r1 как r2. Как это сделать с моим кодом? – kondal
Не знаю. Ваша функция работает для меня с вашим примером, без выхода. Пересмотрите свою функцию. –