Hello,
I need to save a .mat variable that has 226 rows and 301 columns in a .bin binary file. What is the way to do this?

 채택된 답변

Adam Danz
Adam Danz 2018년 12월 10일

0 개 추천

댓글 수: 5

Guilherme Preisser
Guilherme Preisser 2018년 12월 10일
편집: Guilherme Preisser 2018년 12월 10일
I tried using this command, but it was saved as vector
Adam Danz
Adam Danz 2018년 12월 10일
I don't know what you mean by "I got one". Could you provide the relevant code and a small sample of the data you want to save?
Stephen23
Stephen23 2018년 12월 10일
"I tried using this command, but it was saved as vector"
All files are sequential bytes of data. What do you expect to get?
The command I used was this:
fileID = fopen( 'binary.bin' , 'w' );
fwrite (fileID,idx)
fclose (fileID)
The variable idx is a logical array with the dimensions mentioned above. What I want is to save this variable in a binary file. But when I used this command, the binary file was saved as vector.
As Stephen mentioned, this is how a binary file works. Here's an example.
Here we create a matrix and save it to a binary file.
fileID = fopen('MyMatrix.bin','w');
myMat = magic(3)
myMat =
myMat =
8 1 6
3 5 7
4 9 2
fwrite(fileID,myMat);
fclose(fileID);
And now we read it back into matlab and see that it's a columnar vector.
fileID = fopen('MyMatrix.bin');
myMat = fread(fileID)
myMat =
8
3
4
1
5
9
6
7
2
If you know what size the matrix should be, use reshape.
myMat = reshape(myMat, 3,3)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Low-Level File I/O에 대해 자세히 알아보기

태그

질문:

2018년 12월 10일

댓글:

2018년 12월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by