在MATLAB中可以用textread命令来控制从第N行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从第4行开始,如下所示:
vgs getData("P2:id getData("P2:gm getData("P2:gd getData("P2:vt
0.00000e+00 -2.02811e-14 2.35844e-13 1.23904e-14 -8.09185e-01
可用下面语句读取这些数据:
d=textread('nmos_vgs.dat', '' , 'headerlines', 2) %意味着读取数据的时候跳过前2行。
或者:
d=textread('nmos_vgs.dat', '' , 'headerlines', 3) %意味着读取数据的时候跳过前3行。
(这说明textread命令似能自动跳过数据段落的空白行?)
顺手转一段网上的关于textread命令的详细解释。
实际应用中经常要读取txt文件,这个时候就需要用到强大的textread函数。
它的基本语法是:
[A,B,C,...] = textread(filename,format)
[A,B,C,...] = textread(filename,format,N)
其中filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。中括号里面变量的个数必须和format中定义的个数相同。如果每N行相同格式的数据,可采用[A,B,C,...] = textread(filename,format,N)的语法,读取N次。
举例如下:
例子1:myfile.txt 中的内容如下:
1 2 3 4
5 6 7 8
9 10 11 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');
或者为
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);
例子2:myfile.txt 中的内容如下:
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',');
这里delimiter指出分隔符,读数据的时候会自动跳过分隔符。
给你提供一下思路,里面用到的函数自己help一下:
1、输出编号使用num2str,将double类型转化为字符;
2、写入文本使用fprintf函数
3、加入你的序号是“一、二、三……”这一类的,那就写个字符数组,或者是字符元胞数组(cell)。每次循环挨个调用不同元素
加“ ....”就ok了