您的位置:首页 > 编程语言 > MATLAB

binary complex的MATLAB读取

2016-05-10 16:44 495 查看
本人新手,编程中遇到的小问题,在此记录,权作自己的学习笔记吧.

背景描述:

linux,C++

编写物理模型时,遇到complex的数据,用C++保存为binary文件。debug时需要MATLAB读该二进制文件并输出图形进行验证。

数据类型:

complex<float>

C++保存代码:

FILE* pFile = fopen(filename, "wb");

fwrite(data, sizeof(complex<float>), num_save, pFile);

fclose(pFile);

数据是按照实部1,虚部1,实部2,虚部2......的方式顺序存放。sizeof(complex<float>) =
2*sizeof(float)

MATLAB读取代码:

fip=fopen(filename,'rb');

[SIN,num]=fread(fip,load_num*2,'float');fclose(fip);

for i = 1:num/2

rawdata(i) = SIN(i*2 - 1) + 1i*SIN(i*2);

end

num返回实际读取数据个数,可能小于load_num.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: