如何使用二进制文件将矩阵导入犰狳?
How to import matrix into armadillo using binary files?
我正在尝试将在 MATLAB 中生成的矩阵导入犰狳。例如,我有一个 100x1 双倍矩阵“A”。我使用 Whosebug 上一个问题的信息使用 MATLAB 生成二进制文件:
% Generate LocalX.bin
name = 'LocalX.bin';
[F,err] = fopen(name,'w');
if F<0,error(err);end
fwrite(F,LocalX, 'int32');
fclose(F);
我使用以下方法将其导入犰狳:
arma::Mat<int> LocalX;
std::string localx = "LocalX.bin";
LocalX.load(localx, arma::arma_binary);
问题是,我丢失了矩阵维度,无法使用 aramdillo 对其执行任何矩阵操作。
如何在保持矩阵维度的同时将数据导入犰狳?
谢谢。
(第一次在Whosebug上提问)
如果您事先知道维度 (ROWS,COLS)
,您可以在 加载矩阵后添加 LocalX.reshape(ROWS,COLS)
。
我正在尝试将在 MATLAB 中生成的矩阵导入犰狳。例如,我有一个 100x1 双倍矩阵“A”。我使用 Whosebug 上一个问题的信息使用 MATLAB 生成二进制文件:
% Generate LocalX.bin
name = 'LocalX.bin';
[F,err] = fopen(name,'w');
if F<0,error(err);end
fwrite(F,LocalX, 'int32');
fclose(F);
我使用以下方法将其导入犰狳:
arma::Mat<int> LocalX;
std::string localx = "LocalX.bin";
LocalX.load(localx, arma::arma_binary);
问题是,我丢失了矩阵维度,无法使用 aramdillo 对其执行任何矩阵操作。
如何在保持矩阵维度的同时将数据导入犰狳?
谢谢。
(第一次在Whosebug上提问)
如果您事先知道维度 (ROWS,COLS)
,您可以在 加载矩阵后添加 LocalX.reshape(ROWS,COLS)
。