Creating a binary file using fwrite
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello
I'm wondering if anyone can help me. I don't have any experience creating binary files or doing what I need to do so this might be a silly question :)
I have a 3D matrix, 24x10x24 (time X layers X nodes). I'm trying to write a for loop for that it runs through the 10 layers with both time and nodes being 1, then I need it to run through each each layer with time being 1 and nodes being 2, and so on for each node. e.g
% [Double] U(1,1,1)
% [Double] V(1,1,1)
% ...[Double] U(nLayers,1,1)
% [Double] V(nLayers,1,1)
% [Double] U(1,2,1)
% [Double] V(1,2,1)
% ...[Double] U(nLayers,2,1)
% [Double] V(nLayers,2,1)
% ... ... ...[Double] U(nLayers,nNodes,1)
% [Double] V(nLayers,nNodes,1)
% [Double] U(1,1,2)
% [Double] V(1,1,2)
% ...[Double] U(nLayers,1,2)
% [Double] V(nLayers,1,2)
% [Double] U(1,2,2)
% [Double] V(1,2,2)
% ...[Double] U(nLayers,2,2)
% [Double] V(nLayers,2,2)
% ... ... ...[Double] U(nLayers,nNodes,2)
% [Double] V(nLayers,nNodes,2)
I've written some code, but I don't think its right at all since I can't really wrap my head around what I need to do anyway. And I probably haven't explained myself very well. If anyone has any ideas, I would really welcome them :)
Code so far (very wrong):
for lp=1:length(nLayers);
fwrite(fileID,FV.u(1,lp,1),'double','ieee-be');
fwrite(fileID,FV.v(1,lp,1),'double','ieee-be');
for lq=1:length(nNodes);
fwrite(fileID,FV.u(1,lp,lq),'double','ieee-be');
fwrite(fileID,FV.v(1,lp,lq),'double','ieee-be');
for lt=1:length(nTimeStep);
fwrite(fileID,FV.u(lt,lp,lq),'double','ieee-be');
fwrite(fileID,FV.v(lt,lt,lp),'double','ieee-be');
end
end
0 commentaires
Réponse acceptée
Walter Roberson
le 25 Oct 2016
Your code writes u(1,lp,1) and then writes it again as the first element of u(1,lp,lq)
4 commentaires
Walter Roberson
le 25 Oct 2016
If you are using Linux or OS X then you can use "od" to examine the contents of the binary file
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!