1

Matlabで「single」のベクトルと「int8」のベクトルをマージする方法を教えてもらえますか?

詳細に:

Tektronix AWG 波形フォーマット: 各波形ポイント = データとマーカー。データ = 単精度浮動小数点数、マーカー = バイト。したがって、各ポイントは 5 バイトです。これらのベクトルはmatlabにあります。それぞれ32Mポイントまで。それらをすばやくマージする方法は?私が今持っている唯一のもの:

信号、マーカー

fsingle = fopen('temp.tmp','w');
fwrite(fsingle, signal, 'single');
fclose(fsingle);
f8 = fopen('temp.tmp','r');
b = fread(f8, [4 Inf],'int8');
fclose(f8);
f8 = fopen('output.wfm','w');
fwrite(f8, [b, markers]', 'int8');
fclose(f8);

これは機能します。ディスクに書き込まずに 1 行目から 6 行目を実行するにはどうすればよいですか? matlabには変数へのポインタがないようです...

すべてのアイデアに感謝します。

アンドリュー

4

1 に答える 1

1

おそらく使用したいtypecast

基になるデータを変更せずにデータ型を変換する

基本的に、これはポインタのようなものです。シングルの配列をバイトとして見ることができます。次に、それを他のバイト配列と連結できます。

于 2012-10-05T23:21:29.370 に答える