Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Highly Challenging Problem : Delete a matrix from a binary file after reading it.

1 回表示 (過去 30 日間)
AMEHRI WALID
AMEHRI WALID 2019 年 12 月 9 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hello Everyone,
I want to store matrices into a binary file, the in a second time, for another process, I wan to read the matrices one-by-one from the binary file.
But, since when I read a matrix I can store it into a variable, I don't need it anymore holding memory in my binary file.
clear; clc; close; warning('off','all'); fclose('all');
delete 'All_K.bin'
% Write Part
N = 5;
n = 3;
K1 = 3*ones(N * n);
K2 = 5*ones(N * n);
K3 = 9*ones(N * n);
fileID = fopen('All_K.bin', 'a');
fwrite(fileID, K1, 'double');
fwrite(fileID, K2, 'double');
fwrite(fileID, K3, 'double');
fclose(fileID);
% Read Part
fid = fopen('All_K.bin', 'r');
% Read K1 from the file
A1 = fread(fid, [N*n N*n], 'double');
% Erase K1 from the file
% ******************************* %
% Read K2 from the file
A2 = fread(fid, [N*n N*n], 'double');
% Erase K2 from the file
% ******************************* %
% Read K3 from the file
A3 = fread(fid, [N*n N*n], 'double');
% Erase K3 from the file
% ******************************* %
fclose(fid);
So, please can Anyone help me solve this difficult problem.
Thanks in advance!
  11 件のコメント
James Tursa
James Tursa 2019 年 12 月 9 日
"Deleting" a section of a binary file amounts to rewriting the file, and reading/writing files to disk is one of the slowest things a computer does. Better to follow the suggestions made to avoid this. If you really need it in a raw binary form, try to read them sequentially.
AMEHRI WALID
AMEHRI WALID 2019 年 12 月 9 日
編集済み: AMEHRI WALID 2019 年 12 月 11 日
Okay, thank you everyone one for your help and your ideas.

回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by