Talk about the difference between mwArray and a general array

  • 2020-05-10 18:33:55
  • OfStack

You can use the following code to understand in detail the difference between mwArray and 1-like arrays


mwArray a(3, 2, mxDOUBLE_CLASS); 
  double *aData; 
  aData = new double[6]; 
  int iii; 
  for( iii=0; iii<6; ++iii) 
  { 
    aData[iii] = iii+1; 
  } 
  // print output 
  std::cout << "a = " << std::endl; 
  std::cout << aData[0] << ",\t" << aData[1] << std::endl; 
  std::cout << aData[2] << ",\t" << aData[3] << std::endl;
  std::cout << aData[4] << ",\t" << aData[5] << std::endl; 
 
  a.SetData(aData, 6); 
  std::cout << "a(1,1)="<<a(1,1)<<std::endl;
  std::cout << "a(1,2)="<<a(1,2)<<std::endl;
  std::cout << "a(2,1)="<<a(2,1)<<std::endl;
  std::cout << "a(2,2)="<<a(2,2)<<std::endl;
  std::cout << "a(3,1)="<<a(3,1)<<std::endl;
  std::cout << "a(3,2)="<<a(3,2)<<std::endl;

The results are shown in the following figure: [1 bit array to multi-dimensional array is organized in a column first way]


a =
1,  2
3,  4
5,  6
a(1,1)=1
a(1,2)=4
a(2,1)=2
a(2,2)=5
a(3,1)=3
a(3,2)=6

Related articles: