Create a binary array with any dimension

조회 수: 5 (최근 30일)
Guilherme Preisser
Guilherme Preisser 2018년 12월 10일
댓글: Adam Danz 2018년 12월 10일
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일
  댓글 수: 5
Guilherme Preisser
Guilherme Preisser 2018년 12월 10일
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.
Adam Danz
Adam Danz 2018년 12월 10일
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개)

카테고리

Help CenterFile Exchange에서 Low-Level File I/O에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by