C++ Armadillo :: find_nonfinite














































C++ Armadillo :: find_nonfinite



---------------------------------------------------------------------------------------------------------------
Description::
This is the basic C++ program of C++ armadillo library which shows how to get the element of matrix which are non finite numbers. It can be carried out by the help of inbuilt function "find_nonfinite" in armadillo library. It takes one parameter i.e input matrix name.
  • Return a column vector containing the indices of elements of X that are non-finite (ie. ±Inf or NaN)
  • The output vector must have the type uvec (ie. the indices are stored as unsigned integers of type uword)
  • X is interpreted as a vector, with column-by-column ordering of the elements of X
---------------------------------------------------------------------------------------------------------------
Program::

#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;

int main()
{
//initialize the random generator
//Create a 5 x 5 random matrix and printing it
mat A = randu<mat>(5,5); //random matrix of size 5 x 5 (generared by this syntax)
A(1,1) = datum::inf; //replacing values at (1,1) and (2,2) of matrix A A(2,2) = datum::nan; uvec indices = find_nonfinite(A);
cout << "Matrix A::\n"<<endl;
cout<< A << endl;
cout << "Vector indices::\n"<<endl;
cout << indices << endl; A.elem( find_nonfinite(A) ).zeros(); //making non finite elements zero and displaying cout << "Matrix A::\n"<<endl;
cout<< A << endl; return 0;
}
---------------------------------------------------------------------------------------------------------------
Commands to run program on terminal::
g++ filename.cpp -o objectname -O2 -larmadillo

$ ./objectname
---------------------------------------------------------------------------------------------------------------
Output::

Matrix A::

   0.7868   0.4049   0.2742   0.8571   0.2393
   0.2505      inf   0.5610   0.4998   0.3201
   0.7107   0.0227      nan   0.4194   0.9105
   0.9467   0.5206   0.5439   0.7443   0.1648
   0.0193   0.3447   0.5219   0.2492   0.2455

Vector indices::

         6
        12

Matrix A::

   0.7868   0.4049   0.2742   0.8571   0.2393
   0.2505        0   0.5610   0.4998   0.3201
   0.7107   0.0227        0   0.4194   0.9105
   0.9467   0.5206   0.5439   0.7443   0.1648
   0.0193   0.3447   0.5219   0.2492   0.2455


More Articles of Shubham Loya:

Name Views Likes
C++ OpenCV cv::trace() 1382 1
C++ Armadillo :: Real and Imaginary part 1387 1
C++ OpenCV cv::perspectiveTransform() 4670 1
C++ Armadillo :: find_nonfinite 652 2
C++ Armadillo introduction and installation 535 1
C++ Armadillo :: Kron 1119 1
C++ Armadillo :: Accessing row and column and operations on it 1041 1
C++ Armadillo :: cond 420 2
C++ Armadillo :: pseudo-inverse 2479 1
C++ OpenCV cv::flip() 1526 1
C++ OpenCV cv::transpose() 6110 1
C++ Armadillo :: any 469 2
C++ Armadillo :: Max and Min of matrices 785 1
C++ OpenCV cv::pow() 2110 1
C++ Armadillo :: fliplr and flipud 891 2
C++ Armadillo :: Sort 1038 1
C++ Armadillo :: Determinant of Matrix 783 1
C++ Armadillo :: Indices of Unique elements of matrix 805 1
C++ Armadillo :: eps 432 3
C++ Armadillo :: Inverse 1168 1
C++ Armadillo :: Transpose of Matrix 1011 1
C++ Armadillo :: Basic Arithmetic Operations 420 1
C++ Armadillo :: Cross Product of vectors 1052 4
C++ OpenCV program to play a video 1037 1
C++ Armadillo :: Diagonal of Matrix 802 1
C++ Armadillo :: Absolute value of Matrix 1009 1
C++ Armadillo :: Conj 388 2
C++ Armadillo :: expmat 814 2
C++ OpenCV Input from Camera 1691 1
C++ OpenCV program to convert BGR image to grayscale image 4883 1
C++ Armadillo :: Intersect 665 2
C++ Armadillo :: Nonzeros 863 2
C++ Armadillo :: Dot Product of vectors 1462 2
C++ OpenCV:: Transforming BGR image to Grey scale image 526 2
C++ OpenCV to rotate an image 10002 1
C++ Armadillo :: Unique elements of matrix 715 1
C++ Armadillo :: Log Determinant 724 1
C++ Armadillo :: Sort_index 1301 2
C++ Armadillo :: Max Min 1371 1
C++ Armadillo :: Shift 754 1
C++ Armadillo :: Square root of Matrix 1513 1
C++ OpenCV cv::cvtColor() 2010 1

Comments