2012-02-18 9 views
1

C++では、データをバイナリファイルに書きました。私のデータはfloat data[a][b]のようです(これはC++にあります)。さて、Matlabからこのバイナリファイルを読み込みたいのですが(もちろんmatlabではかなり新しいです)、A配列(A = data[a][b])を取得しています。私はGoogleの多くのソリューションを検索します:MatLabでバイナリファイルを読む

frid = fopen('data.bin', 'rb'); 
A = fread(fid,count,type) 
... 

しかし、多分私は新しいので、それらのソリューションは私のために働いていない!

誰でも私にこのデータを読むための提案を与えることができますか?どんな答えも歓迎です!ありがとう!

答えて

1

あなたは正しい軌道に乗っています。 fread関数(google "matlab fread")のドキュメントを見てください。 freadには、ファイルポインタ( "frid")、読み込む項目の数、および型が必要です。あなたはあなたのデータがどのバイナリタイプであるか見る必要があります。したがって、次のようになります。

A = fread(frid, 100, 'real*4'); 

ここで、100は読み込む要素の数です。

0

データの拡張子は何ですか? * .txtファイル内にある場合は、

で開くことができます。data = textread( 'myfile.txt'、 '%f');

あなたは、ほぼ正しい答えを持っている

+0

この質問は、データが「バイナリファイル」であることは明らかです。ファイル拡張子は 'textread'を使うことができるかどうかとは無関係です。そして、 'textread'はバイナリ形式を助けません。 –

1

...もっと助けを求めhttp://www.mathworks.com/help/techdoc/ref/textread.htmlに行きます。あなたの場合、必要があります

fid = fopen('data.txt','rb'); 
A = fread(fid,[rows cols],'float'); 

ファイル名に 'data.txt'を書きましたが、実際にはテキストファイルではありません。最初にデータを書き込んだ方法に応じて、予想通りのレイアウトを得るには、Aを転記する必要があります。

+0

ありがとう!わたしにはできる! –

関連する問題