最近在编写C++代码,写下自己简短的编程感悟:
C++多使用循环,尤其for()循环较多。
但是,R多使用向量化计算,比如两个矩阵相乘、一个矩阵乘另一个向量等等,但是两个矩阵相乘,在C++中通常使用双层for循环.例如:
NumericVector exp_bz;
for (int i=0; i<n; ++i){
exp_bz(i) = exp(z.row(i)*b_hat);
}
而在R中:
exp.bz <- as.numeric(exp(z %*% b.hat)) # n vector