C++ Armadillo :: Intersect














































C++ Armadillo :: Intersect



---------------------------------------------------------------------------------------------------------------
Description::
This is the basic C++ program of C++ armadillo library which shows how to get the common value or intersection of both the vectors of some particular size. It can be carried out by the help of inbuilt function "intersect" in armadillo library.
 
     C = intersect( A, B )   (form 1)
     intersect( C, iA, iB, A, B )   (form 2)
  • For form 1:
    • return the unique elements common to both A and B, sorted in ascending order

  • For form 2:
    • store in C the unique elements common to both A and B, sorted in ascending order
    • store in iA and iB the indices of the unique elements, such that C = A.elem(iA) and C = B.elem(iB)
    • iA and iB must have the type uvec (ie. the indices are stored as unsigned integers of type uword)

  • C is a column vector if either A or B is a matrix or column vector; C is a row vector if both A and B are row vectors

  • For matrices and vectors with complex numbers, ordering is via absolute values
---------------------------------------------------------------------------------------------------------------
Program::

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

int main()
{
ivec A = regspace<ivec>(4, 1); // 4, 3, 2, 1 ivec B = regspace<ivec>(3, 6); // 3, 4, 5, 6 ivec C = intersect(A,B); // 3, 4
cout << "Vector A::\n"<<endl;
cout << A << endl; cout << "Vector B::\n"<<endl;
cout << B << endl;
cout << "Intersection vector C::\n"<<endl;
cout << C << endl;
cout << "==========================================\n"<<endl;         ivec CC; uvec iA; uvec iB; intersect(CC, iA, iB, A, B); //initialize the random generator
cout << "Vector iA::\n"<<endl;
cout << A << endl; cout << "Vector iB::\n"<<endl;
cout << B << endl;
cout << "Intersection vector CC::\n"<<endl;
cout << CC << endl;
return 0;
}
---------------------------------------------------------------------------------------------------------------
Commands to run program on terminal::
g++ filename.cpp -o objectname -O2 -larmadillo

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

Vector A:: 4 3 2 1 Vector B:: 3 4 5 6 Intersection vector C:: 3 4 ========================================== Vector iA:: 4 3 2 1 Vector iB:: 3 4 5 6 Intersection vector CC:: 3 4


More Articles of Shubham Loya:

Name Views Likes
C++ OpenCV cv::trace() 1383 1
C++ Armadillo :: Real and Imaginary part 1388 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 421 2
C++ Armadillo :: pseudo-inverse 2480 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 892 2
C++ Armadillo :: Sort 1039 1
C++ Armadillo :: Determinant of Matrix 784 1
C++ Armadillo :: Indices of Unique elements of matrix 805 1
C++ Armadillo :: eps 432 3
C++ Armadillo :: Inverse 1169 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 389 2
C++ Armadillo :: expmat 814 2
C++ OpenCV Input from Camera 1692 1
C++ OpenCV program to convert BGR image to grayscale image 4883 1
C++ Armadillo :: Intersect 666 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 725 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