Init

Matrisi veya vektörü başlatır.

void matrix::Init(
  const ulong  rows,            // satır sayısı
  const ulong  cols,            // sütun sayısı
  func_name    init_func=NULL,  // sınıfın bir kapsamına veya statik metoduna yerleştirilmiş başlatma fonksiyonu
   ...         parameters
   );
 
void vector::Init(
  const ulong  size,            // vektör büyüklüğü
  func_name    init_func=NULL,  // sınıfın bir kapsamına veya statik metoduna yerleştirilmiş başlatma fonksiyonu
   ...         parameters
   );
 

Parametreler

rows

[in]  Satır sayısı.

cols

[in]  Sütun sayısı.

func_name

[in] Başlatma fonksiyonu.

...

[in] Başlatma fonksiyonunun parametreleri.

Geri dönüş değeri

Geri dönüş değeri yoktur.

Örnek:

template<typename T>
void MatrixArange(matrix<T> &mat,T value=0.0,T step=1.0)
  {
   for(ulong i=0i<mat.Rows(); i++)
     {
      for(ulong j=0j<mat.Cols(); j++,value+=step)
         mat[i][j]=value;
     }
  }
template<typename T>
void VectorArange(vector<T> &vec,T value=0.0,T step=1.0)
  {
   for(ulong i=0i<vec.Size(); i++,value+=step)
      vec[i]=value;
  }
//+------------------------------------------------------------------+
//| Komut dosyası başlatma fonksiyonu                                |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
  int size_m=3size_k=4;
  matrix  m(size_m,size_k,MatrixArange,-2.,0.1); // önce size_m x size_k büyüklüğünde başlatılmamış bir matris oluşturulur
  Print("matrix m \n",m);                        // daha sonra başlatma sırasında listelenen parametrelerle MatrixArange fonksiyonu çağrılır
  matrixf m_float(5,5,MatrixArange,-2.f,0.1f);   // float türünde bir matris oluşturulduktan sonra, MatrixArange fonksiyonu çağrılır
  Print("matrix m_float \n",m_float);
  vector  v(size_k,VectorArange,-10.0);          // vektör oluşturulduktan sonra, tek parametreli VectorArange fonksiyonu çağrılır; ikinci parametresi varsayılandır
  Print("vector v \n",v);  
  /*
   matrix m 
   [[-2,-1.9,-1.8,-1.7]
    [-1.6,-1.5,-1.399999999999999,-1.299999999999999]
    [-1.199999999999999,-1.099999999999999,-0.9999999999999992,-0.8999999999999992]]
   matrix m_float 
   [[-2,-1.9,-1.8,-1.6999999,-1.5999999]
    [-1.4999999,-1.3999999,-1.2999998,-1.1999998,-1.0999998]
    [-0.99999976,-0.89999974,-0.79999971,-0.69999969,-0.59999967]
    [-0.49999967,-0.39999968,-0.29999968,-0.19999969,-0.099999689]
    [3.1292439e-07,0.10000031,0.20000032,0.30000031,0.4000003]]
   vector v 
   [-10,-9,-8,-7]
  */ 
  }