Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static mat log(mat A) {
- /*
- * log function operates element-wise on matrix A
- * MATLAB code> log(A)
- */
- mat X(A);
- mat::iterator a = X.begin();
- mat::iterator b = X.end();
- for(mat::iterator i=a; i!=b; ++i) {
- (*i) = log(*i);
- }
- return X;
- }
- static mat vectorize(mat A) {
- /*
- * vectorise a matrix (ie. concatenate all the columns or rows)
- * MATLAB code> A(:)
- */
- mat B = mat(A);
- B.reshape(B.n_rows*B.n_cols, 1);
- return B;
- }
- static bool any(mat X, double n) {
- /*
- * check if there are some n in X
- * MATLAB code> any(X==n)
- * TODO: i'm not sure of description but it works for me
- */
- uvec _s = find(, n);
- if ( _s.is_empty() )
- return true;
- else
- return false;
- }
- static double sum(mat X) {
- /*
- * sum a matrix
- * MATLAB code> sum(X)
- */
- return sum(sum(X))
- }
- static field<rowvec num2cell(mat X) {
- /*
- * converts matrix X into field by placing each row of X into a separate row
- * this method assume that a cell is a field<rowvec>, mayebe a template should be used to generalize..
- * MATLAB code> num2cell(X)
- */
- field<rowvec> data1(X.n_rows,1);
- for (uint r = 0; r < X.n_rows; ++r) {
- data1(r,0) = X.row(r);
- }
- return data1;
- }
- *i = log(*i);
- if ( _s.is_empty() )
- return true;
- else
- return false;
- return _s.is_empty();
Add Comment
Please, Sign In to add comment