matlab读取二进制文件,要指定保存的数据类型

1、

a = 1,2;3,4;

fileID = fopen('hao.bin', 'wb'); % 以二进制写入模式打开文件

fwrite(fileID, a, 'uint16'); % 假设a中的数据可以表示为无符号32位整数

fclose(fileID);

fileID = fopen('hao.bin', 'rb'); % 以二进制读取模式打开文件
k = fread(fileID);

自动识别16位还是多少位,得到的k是下面的,这说明 数据保存的是

00000000 00000001 一

00000000 00000011 三

00000000 00000010 二

00000000 00000100四

在读取的时候 每16位一组来读取,正确识别了,虽然其实也是错的,因为是一个字节一读取数字

2、但是如果用k = fread(fileID,'uint32') 读取,得到的是

因为读取的时候按照32位是一个数

00000000 00000011 三 00000000 00000001 一 合起来是196609

**3、**如果直接指定正确的格式fwrite(fileID, a, 'uint16');输出的是

没有那些0了。

有0是因为,按一个字节一读取数字,现在是按照2个字节一读取数字

相关推荐
严肃小白兔3 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
Evand J1 天前
【PMSM例程】(14)永磁同步电机无迹卡尔曼滤波(UKF)定子电阻在线辨识与补偿。电阻变化跟踪及预测误差对比仿真。附完整代码的下载链接
matlab·电机·滤波·卡尔曼滤波·永磁同步电机·无迹卡尔曼滤波·pmsm
爱喝雪碧的可乐1 天前
MATLAB
开发语言·算法·matlab
严肃小白兔1 天前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目
Evand J3 天前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
分享资料4 天前
MATLAB 中分号 (;)的作用
matlab
Evand J4 天前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计
严肃小白兔5 天前
优秀 MATLAB 作者、书籍推荐:国外经典教材与技术资源整理
matlab
熊猫_豆豆6 天前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
逆向编程7 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab