From: Bettini <ms...@ti...> - 2003-02-03 16:34:17
|
Hi users, does anyone know, or has anyone realized a function-operator to make the same element-by-element operations between matrices (i.e. multiplication, division,...), as efficient in terms of velocity of execution as in Matlab? I used a function-operator based on two for-cicles: inline void mul_dot(vnl_matrix<double> &A, vnl_matrix<double> &B, vnl_matrix<double> &temp,const int &dim){ unsigned int j; for(unsigned int i=0; i<dim; i++){ for(j=0; j<dim; j++) temp(i,j)=A(i,j)*B(i,j); } } but it takes more time to run than the Matlab version. Second question: I'm working on 3D matrices (the structure is a vcl_vector of vnl_matrix), but I have a problem of memory (stack error) in running the algorithm when the 3D matrices have to many rows or columns (I need 100x100x90 matrices). Does anyone know why? And does anyone know a solution? Thanks |