Guest User

Untitled

a guest
Dec 13th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. static mat log(mat A) {
  2. /*
  3. * log function operates element-wise on matrix A
  4. * MATLAB code> log(A)
  5. */
  6. mat X(A);
  7. mat::iterator a = X.begin();
  8. mat::iterator b = X.end();
  9.  
  10. for(mat::iterator i=a; i!=b; ++i) {
  11. (*i) = log(*i);
  12. }
  13. return X;
  14. }
  15.  
  16. static mat vectorize(mat A) {
  17. /*
  18. * vectorise a matrix (ie. concatenate all the columns or rows)
  19. * MATLAB code> A(:)
  20. */
  21. mat B = mat(A);
  22. B.reshape(B.n_rows*B.n_cols, 1);
  23. return B;
  24. }
  25.  
  26. static bool any(mat X, double n) {
  27. /*
  28. * check if there are some n in X
  29. * MATLAB code> any(X==n)
  30. * TODO: i'm not sure of description but it works for me
  31. */
  32. uvec _s = find(, n);
  33. if ( _s.is_empty() )
  34. return true;
  35. else
  36. return false;
  37. }
  38.  
  39. static double sum(mat X) {
  40. /*
  41. * sum a matrix
  42. * MATLAB code> sum(X)
  43. */
  44. return sum(sum(X))
  45. }
  46.  
  47. static field<rowvec num2cell(mat X) {
  48. /*
  49. * converts matrix X into field by placing each row of X into a separate row
  50. * this method assume that a cell is a field<rowvec>, mayebe a template should be used to generalize..
  51. * MATLAB code> num2cell(X)
  52. */
  53. field<rowvec> data1(X.n_rows,1);
  54. for (uint r = 0; r < X.n_rows; ++r) {
  55. data1(r,0) = X.row(r);
  56. }
  57. return data1;
  58. }
  59.  
  60. *i = log(*i);
  61.  
  62. if ( _s.is_empty() )
  63. return true;
  64. else
  65. return false;
  66.  
  67. return _s.is_empty();
Add Comment
Please, Sign In to add comment