matlab txt数据合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab txt数据合并相关的知识,希望对你有一定的参考价值。

每个txt文件里面有两列,第一列是波长,第二列是数据,然后只要每个txt里面的第二列数据,然后把所有的数据按文件排列顺序并列合成一个txt文件。希望大神指导一下代码

参考技术A 1、先在matlab搜索路径存在的文件平中新建一个importfile.m文件,内容如下:
function data = importfile(filename, startRow, endRow)
%IMPORTFILE 将文本文件中的数值数据作为列矢量导入。
% DATA = IMPORTFILE(FILENAME) 读取文本文件 FILENAME 中默认选定范围的数据。
%
% DATA = IMPORTFILE(FILENAME, STARTROW, ENDROW) 读取文本文件 FILENAME 的
% STARTROW 行到 ENDROW 行中的数据。
%
% Example:
% data = importfile('001.txt',1, 7);
%
% 另请参阅 TEXTSCAN。
% 由 MATLAB 自动生成于 2018/05/10 10:56:12

%% 初始化变量。

delimiter = ' ';
if nargin<=2
startRow = 1;
endRow = inf;
end
%% 每个文本行的格式字符串:

% 列2: 双精度值 (%f)
% 有关详细信息,请参阅 TEXTSCAN 文档。
formatSpec = '%*s%f%[^\n\r]';
%% 打开文本文件。

fileID = fopen(filename,'r');
%% 根据格式字符串读取数据列。

% 该调用基于生成此代码所用的文件的结构。如果其他文件出现错误,请尝试通过导入工具重新生成代码。
dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'HeaderLines', startRow(1)-1, 'ReturnOnError', false);
for block=2:length(startRow)
frewind(fileID);
dataArrayBlock = textscan(fileID, formatSpec, endRow(block)-startRow(block)+1, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'HeaderLines', startRow(block)-1, 'ReturnOnError', false);
dataArray1 = [dataArray1;dataArrayBlock1];
end
%% 关闭文本文件。

fclose(fileID);
%% 对无法导入的数据进行的后处理。

% 在导入过程中未应用无法导入的数据的规则,因此不包括后处理代码。要生成适用于无法导入的数据的代码,请在文件中选择无法导入的元胞,然后重新生成脚本。
%% 将导入的数组分配给列变量名称
data = dataArray:, 1;
2、在命令行输入下列命令:
path='C:\Users\Administrator\Desktop\';%文件路径
data=importfile(strcat(path,'00000.txt'));%获取00000.txt中数据
n=1000; %有多少文件n就等于几,比如最大文件编号是01000.txt,则n=1000
for i=1:1:n
filename=strcat(path, num2str(i,'%05d') ,'.txt');
tmp=importfile(filename);
data=[data;tmp];
end
3、将得到的data数据打开,复制到excel表格中,取好有效位数,然后再复制到txt中就可以了

Matlab:*.txt转换为*.mat

在许多应用中,将其他仿真软件输出的数据导入Matlab中应用,Matlab导入的数据文件格式为*.mat,而其他仿真输出数据格式为*.txt,因此要在使用之前将*.txt格式转换为*.mat格式。

语句如下:

Load(‘*.txt’)

%*为文件存储路径及文件名

%在Workspace中形成以该文件名命名的变量

Save(’*.mat’,变量名’

%*为文件存储路径及文件名

技术分享

以上是关于matlab txt数据合并的主要内容,如果未能解决你的问题,请参考以下文章

在matlab中如何把两个txt文件合并到一起

matlab,两个txt文件想合并,一个是一列文件名,“0001.jpg”一直到“2000.jp

如何快速合并多个TXT文件?合并多个TXT文件方法步骤

matlab中怎么把3个TXT文本中的数据合成一个,行是一样的

求助!matlab根据数据相同的列合并cell

合并数据+统计流数