Update MatlabWriter.
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
#include "MatlabWriter.h"
|
#include "MatlabWriter.h"
|
||||||
|
#include "Matrix.h"
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
MatlabWriter::MatlabWriter(const std::string& aFileName)
|
MatlabWriter::MatlabWriter(const std::string& aFileName)
|
||||||
: mFileName(aFileName)
|
: mFileName(aFileName)
|
||||||
@@ -12,11 +14,21 @@ MatlabWriter::~MatlabWriter()
|
|||||||
Mat_Close(mMat);
|
Mat_Close(mMat);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MatlabWriter::write(const Aurora::Matrix& aMatrixs, const std::string& aName)
|
void MatlabWriter::setMatrix(const Aurora::Matrix& aMatrixs, const std::string& aName)
|
||||||
{
|
{
|
||||||
int dimsSize = aMatrixs.getDims();
|
mMatrixs.insert(std::pair<std::string, Aurora::Matrix>(aName, aMatrixs));
|
||||||
size_t dims[3] ={(size_t)aMatrixs.getDimSize(0),(size_t)aMatrixs.getDimSize(1), (size_t)aMatrixs.getDimSize(2)};
|
}
|
||||||
matvar_t* var = Mat_VarCreate(aName.c_str(),MAT_C_DOUBLE,MAT_T_DOUBLE,dimsSize,dims,aMatrixs.getData(),0);
|
|
||||||
Mat_VarWrite(mMat,var,MAT_COMPRESSION_NONE);
|
void MatlabWriter::write()
|
||||||
Mat_VarFree(var);
|
{
|
||||||
|
for(auto i= mMatrixs.begin(); i!=mMatrixs.end(); ++i)
|
||||||
|
{
|
||||||
|
Aurora::Matrix matrix = i->second;
|
||||||
|
std::string name = i->first;
|
||||||
|
int dimsSize = matrix.getDims();
|
||||||
|
size_t dims[3] ={(size_t)matrix.getDimSize(0),(size_t)matrix.getDimSize(1), (size_t)matrix.getDimSize(2)};
|
||||||
|
matvar_t* var = Mat_VarCreate(name.c_str(),MAT_C_DOUBLE,MAT_T_DOUBLE,dimsSize,dims,matrix.getData(),0);
|
||||||
|
Mat_VarWrite(mMat,var,MAT_COMPRESSION_NONE);
|
||||||
|
Mat_VarFree(var);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define MATLABWRITER_H
|
#define MATLABWRITER_H
|
||||||
|
|
||||||
#include "Matrix.h"
|
#include "Matrix.h"
|
||||||
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
|
|
||||||
@@ -10,11 +11,13 @@ class MatlabWriter
|
|||||||
public:
|
public:
|
||||||
MatlabWriter(const std::string& aFileName);
|
MatlabWriter(const std::string& aFileName);
|
||||||
~MatlabWriter();
|
~MatlabWriter();
|
||||||
void write(const Aurora::Matrix& aMatrixs, const std::string& aName);
|
void write();
|
||||||
|
void setMatrix(const Aurora::Matrix& aMatrixs, const std::string& aName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string mFileName;
|
std::string mFileName;
|
||||||
mat_t* mMat;
|
mat_t* mMat;
|
||||||
|
std::map<std::string , Aurora::Matrix> mMatrixs;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MATLABWRITER_H
|
#endif // MATLABWRITER_H
|
||||||
|
|||||||
Reference in New Issue
Block a user