Create a binary array with any dimension

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?
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 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by