matlab数据处理,存储bin文件及C++输入

这篇博客介绍了如何在MATLAB中处理和存储复数数据到二进制文件,以及在C++中如何读取这些文件。MATLAB的complex格式在保存为二进制文件时可能会导致虚部丢失,建议分开存储实部和虚部。此外,文章提到了使用fstream和sstream库进行文本和二进制文件操作,以及在处理不定长数据时使用vector容器的重要性。为了正确读取bin文件,需要先在MATLAB中生成该格式的文件。
摘要由CSDN通过智能技术生成

处理了matlab的complex格式数据,用于表示实数,表示虚实坐标系中的坐标。
complex(a,b)=a+bi,其中ab可以是同维向量。在matlab右侧变量表示时就是“a + bi”的格式(注意空格),做二进制文件保存保存后会导致后方虚部丢失,分别存储real(),imag()部分的时候会附带符号,建议分别存储。
二进制文件无法直接观看,很难检查数据的正误,数据丢失对后续处理有很大影响。
求模的时候可以直接使用abs(),也可以分别对各个部分进行处理。
在C中的_complex格式,是包含两个double型数据x,y的结构体,但是不能用abs计算模,处理上也比较麻烦。

第一次处理没有存储bin文件,使用了csv格式,读取字符串转化成浮点数。
fstream支持getline(),以及fin的定义;
sstream主要应对复杂输入提取数据,使用了文本流的形式。将每段输入流的几个部分进行分析,获得需要的浮点数;
由于数据可能不定长,使用vector容器;
注意打开文件的检查。

#include <fstream>
#include <sstream>
#include <vector>
using namespace std;
_complex tmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值