6 Aralık 2017 Çarşamba

ublas vector Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/numeric/ublas/vector.hpp>
Constructor - default
Şöyle yaparız.
boost::numeric::ublas::vector<double> v1;
boost::numeric::ublas::vector<std::complex<double>> v2;
Constructor - size
Şöyle yaparız.
int size = 10; 
boost::numeric::ublas::vector<double> v (size);
Bir matristen kurmak için şöyle yaparız. subrange yeni bir matris döner. row ise yeni matrisin bir satırını döner.
v = row(subrange(m, 0, 1, 0, 5), 0);
Constructor - list initialization
Bu metod sağlanmıyor. Yani şöyle yapamayız.
boost::numeric::ublas::vector<double> v ( {1,2,3} );
begin ve end metodları
Şöyle yaparız.
boost::numeric::ublas::vector<double> v = ...;
v.begin();
v.end();
operator += metodu
Şöyle yaparız.
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/operation.hpp>

using namespace boost::numeric::ublas;
vector<double> v1(10,1);
vector<double> v2(10,2);
v1 += v2;
operator () metodu
Şöyle yaparız.
boost::numeric::ublas::vector<double> v = ...;
for( int i=0;i<v.size();i++ )
  std::cout << v(i) << " ";
operator << metodu
Şu satırı dahil ederiz.
#include <boost/numeric/ublas/io.hpp>
Neden bilmiyorum ama bazı örneklerde şu satır da dahil ediliyor.
#include <boost/serialization/array_wrapper.hpp>
Şöyle yaparız.
std::cout << v;
operator <<= metodu
Şöyle yaparız.
boost::numeric::ublas::vector<double> v (3);
v <<= 1, 2, 3;
size metodu
Şöyle yaparız.
vector<double> v (3);
for (unsigned i = 0; i < v.size (); ++ i) {
  v (i) = i;
}

Hiç yorum yok:

Yorum Gönder