MATLAB 读取,bin ,txt 文件,并保存成特定的格式

一、间隔改变


clear
clc
close all


Data = importdata("rtk.txt"); % 读取名字为 rtk.txt 的文件
 
 
datanumber = 3036; // 注释后面的,先看一下自己的数据大小
gps_data = zeros(datanumber,7); 
 
 for i = 1:1:datanumber
  gps_data(i,1:7) = Data(i,1:7) ;  %读取到3036x7的矩阵中
 end

 
%dlmwrite('result_gps.txt',gps_data,' ');  
% 保存 数据到 result_gps.txt文件中,并且数据间 用空格 ' ' 隔开, 当然也可以是 逗号 ',' 隔开;只是后面读取数据时不同而已


%将矩阵M导出到FileName文件中,分隔符为默认的逗号,小数点后面保留14位,每行以\r\n结束。
dlmwrite('result_gps.txt', gps_data,'precision', '%.10f', 'newline', 'pc')


 % 显示数据的信息
figure(1)
plot(gps_data(:,2),'b')
hold on
plot(gps_data(:,3),'k')
hold on
plot(gps_data(:,4),'r')
 

二、文件后缀改变

 
clear
clc
close all
 
 
 fip=fopen('210421070110_imu.bin','rb');
 [data,num]=fread(fip,[7 29561],'double');
 fclose(fip)
data = data';
 
 
 datanumber = 14651 ;                  % 注释后面的,先看一下自己的数据大小
IMU_data = zeros(datanumber,7); 
 
 
 for i = 1:1:datanumber
  IMU_data(i,1) = data(i,1) ;
  IMU_data(i,2:7) = data(i,2:7)*200 ;   
 end
 
 
%dlmwrite('result_gps.txt',gps_data,' ');  
% 保存 数据到 result_gps.txt文件中,并且数据间 用空格 ' ' 隔开, 当然也可以是 逗号 ',' 隔开;只是后面读取数据时不同而已
 
 
%将矩阵M导出到FileName文件中,分隔符为默认的逗号,小数点后面保留14位,每行以\r\n结束。
dlmwrite('imu0.csv', IMU_data,'precision', '%.10f', 'newline', 'pc')
 
 
 % 显示数据的信息
figure(1)
plot(IMU_data(:,1),'b')

三、 读取txt文本文件, 每列按不同数据精度输出到txt文本文件中

 

clear          
clc
close all  
 

%读取imu0.txt文件, 用txtread读取,'delimiter', 代表 数据之间间隔是什么,我的是逗号,
[timestamp,omega_x,omega_y,omega_z,alpha_x,alpha_y,alpha_z] = textread('imu0.txt','%f%f%f%f%f%f%f','delimiter',',');

%构建新矩阵
y=[timestamp,omega_x,omega_y,omega_z,alpha_x,alpha_y,alpha_z];

%数度写入路径:
fid=fopen('E:\博士期间\李团师兄给的资料\数据\地大\IMU标定程序\imu00.txt','w'); %写入文件路径
 

%输出
[m,n]=size(y);
for i=1:1:m
 fprintf(fid,'%.0f,%.10f,%.10f,%.10f,%.10f,%.10f,%.10f\n',y(i,:));
end
fclose(fid);
 

 

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要使用MATLAB读取16进制的bin文件,可以按照以下步骤操作: 1. 在MATLAB命令窗口中,使用`fopen`函数打开16进制的bin文件,并将其关联到一个文件句柄。例如: ``` fid = fopen('filename.bin','r'); ``` 这里的'filename.bin'是你要读取的16进制的bin文件文件名。 2. 使用`fread`函数从文件读取数据。由于文件是以16进制格式存储的,因此可以通过指定读取的数据类型为'uint8'来保留16进制格式的数据。例如: ``` data = fread(fid, inf, 'uint8'); ``` 这里的'inf'表示读取文件中的所有数据。 3. 关闭文件句柄。使用`fclose`函数关闭之前打开的文件句柄。例如: ``` fclose(fid); ``` 现在,你可以在MATLAB中使用变量`data`来处理读取到的16进制数据了。根据具体情况,你可以将`data`转换为其他数据类型,如整数、浮点数等,以便进一步分析或处理。 需要注意的是,读取的16进制数据可以通过`dec2hex`函数转换为十六进制字符串形式,方便查看和处理。例如: ``` hexData = dec2hex(data); ``` 以上是使用MATLAB读取16进制bin文件的基本方法。根据具体的需求和文件格式,可能还需要进行一些额外的操作和处理。 ### 回答2: Matlab可以通过使用fread函数来读取16进制的bin文件。 首先,需要打开要读取的16进制bin文件。例如,假设文件名为"file.bin",可以使用fopen函数打开文件: fid = fopen('file.bin','r'); 第一个参数'file.bin'表示要打开的文件名。第二个参数'r'表示以只读方式打开文件。 接下来,可以使用fread函数来读取文件中的数据。这个函数有多种用法,根据需要选择合适的用法。例如,如果要读取整个文件的内容,可以使用以下代码: data = fread(fid, inf, 'uint8'); 第一个参数fid是文件标识符,表示要读取文件。第二个参数inf表示要读取的元素个数,'uint8'表示每个元素的数据类型为无符号8位整数。 最后,使用fclose函数关闭文件。完整的代码如下: fid = fopen('file.bin','r'); data = fread(fid, inf, 'uint8'); fclose(fid); 这样,文件中的数据就会存储在变量data中,可以根据需要进行进一步处理或分析。 需要注意的是,根据实际情况可能需要调整代码中的数据类型或参数,以适应特定的16进制bin文件格式。 ### 回答3: 在MATLAB中,可以通过以下步骤读取16进制的bin文件: 1. 打开bin文件:使用fopen函数打开bin文件并返回文件标识符。例如,可以使用以下代码打开一个名为file.bin文件: fid = fopen('file.bin', 'rb'); 2. 读取bin文件内容:使用fread函数读取bin文件中的数据。根据数据类型的不同,可以选择读取为16进制字符或数值。例如,如果bin文件中包含16进制字符,则可以使用以下代码读取: data = fread(fid, inf, 'uint8=>char'); 如果bin文件中包含16进制数值,则可以使用以下代码读取: data = fread(fid, inf, 'uint16'); 3. 关闭bin文件:使用fclose函数关闭文件,释放文件标识符。例如,可以使用以下代码关闭bin文件: fclose(fid); 读取bin文件后,可以根据实际需要对数据进行进一步处理和分析。例如,可以将读取的数据保存到其他格式文件中,或者进行数值计算和统计分析。 值得注意的是,读取bin文件时需要根据文件的具体格式和数据类型进行相应的设置。在使用fread函数时,可以根据需要调整输入参数,并根据数据类型选择合适的数据格式。 希望以上解答能够帮助到您读取16进制的bin文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他人是一面镜子,保持谦虚的态度

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值