Create a binary array with any dimension

7 visualizaciones (últimos 30 días)
Guilherme Preisser
Guilherme Preisser el 10 de Dic. de 2018
Comentada: Adam Danz el 10 de Dic. de 2018
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?

Respuesta aceptada

Adam Danz
Adam Danz el 10 de Dic. de 2018
  5 comentarios
Guilherme Preisser
Guilherme Preisser el 10 de Dic. de 2018
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 el 10 de Dic. de 2018
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)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Low-Level File I/O en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by