用下面代码读取txt文件里的科学计数法数据,折腾了半天,都读取不出来,请各位帮忙看看怎么回事儿
数据如下:
Kopfzeile
6,006E-1 3,070E+1 0,000E+0
1,202E+0 3,080E+1 0,000E+0
1,805E+0 3,080E+1 0,000E+0
2,407E+0 3,080E+1 0,000E+0
3,009E+0 3,080E+1 0,000E+0
3,611E+0 3,080E+1 0,000E+0
4,214E+0 3,080E+1 0,000E+0
4,817E+0 3,080E+1 0,000E+0
5,418E+0 3,080E+1 0,000E+0
6,019E+0 3,090E+1 0,000E+0
6,623E+0 3,090E+1 0,000E+0
7,226E+0 3,090E+1 0,000E+0
代码如下:
> clear all; close all; clc;
cd('C:\Users\xxx\Desktop\2021-11-02');
filename_open = '300kHz' ;
fid = fopen([filename_open '.txt' ]);
Date = cell2mat(textscan(fid,'%f%f%f', 'HeaderLines',1));
fclose(fid);
报错信息:
错误使用 cat
要串联的数组的维度不一致。
出错 cell2mat (第 75 行)
m{n} = cat(2,c{n,:});
出错 Temperatur_Verarbeiten_1 (第 7 行)
Date = cell2mat(textscan(fid,'%f%f%f', 'HeaderLines',1));
你好同学,直接用readtable函数就行啦
clear all; close all; clc;
cd('C:\Users\xxx\Desktop\2021-11-02');
filename_open = '300kHz';
T = readtable([filename_open '.txt' ],'headerlines',1,'Delimiter',{char(32),','});%按照表格读入,跳过第一行,列间分隔符为空格和逗号
Data = table2array(T)%转化为矩阵
比如说你给出的数据:
Kopfzeile
6,006E-1 3,070E+1 0,000E+0
1,202E+0 3,080E+1 0,000E+0
1,805E+0 3,080E+1 0,000E+0
2,407E+0 3,080E+1 0,000E+0
3,009E+0 3,080E+1 0,000E+0
3,611E+0 3,080E+1 0,000E+0
4,214E+0 3,080E+1 0,000E+0
4,817E+0 3,080E+1 0,000E+0
5,418E+0 3,080E+1 0,000E+0
6,019E+0 3,090E+1 0,000E+0
6,623E+0 3,090E+1 0,000E+0
7,226E+0 3,090E+1 0,000E+0
读入后的Data就是你需要的
6 0.6 3 700 0 0
1 202 3 800 0 0
1 805 3 800 0 0
2 407 3 800 0 0
3 9 3 800 0 0
3 611 3 800 0 0
4 214 3 800 0 0
4 817 3 800 0 0
5 418 3 800 0 0
6 19 3 900 0 0
6 623 3 900 0 0
7 226 3 900 0 0