2023-06-02 14:02:12 +08:00
|
|
|
#include "MatlabWriter.h"
|
|
|
|
|
#include <matio.h>
|
|
|
|
|
|
|
|
|
|
MatlabWriter::MatlabWriter(const std::string& aFileName)
|
|
|
|
|
: mFileName(aFileName)
|
|
|
|
|
{
|
|
|
|
|
mMat = Mat_CreateVer(mFileName.c_str(),nullptr, MAT_FT_MAT5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MatlabWriter::~MatlabWriter()
|
|
|
|
|
{
|
|
|
|
|
Mat_Close(mMat);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void MatlabWriter::write(const Aurora::Matrix& aMatrixs, const std::string& aName)
|
|
|
|
|
{
|
2023-06-05 14:23:06 +08:00
|
|
|
int dimsSize = aMatrixs.getDims();
|
|
|
|
|
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);
|
2023-06-02 14:02:12 +08:00
|
|
|
Mat_VarWrite(mMat,var,MAT_COMPRESSION_NONE);
|
|
|
|
|
Mat_VarFree(var);
|
|
|
|
|
}
|