matlab练习程序(读取列不一致的数据)

通常情况我们使用matlab载入数据时,使用load或importdata函数基本就能满足需求。

不过如果数据列是不一致的,又不想读数据的时候每一行去遍历,那么可以使用textscan这个函数。

比如下面这段数据:

1 2 3

2 3 5 6

4 5 6 7 8

1 3 7 9 2 

可以用如下代码处理:

clear all;
close all;
clc;

fp= fopen('test.txt','r');
textcell = textscan(fp,'%f %f %f %f %f','delimiter',' ');   %按最多的列进行格式化,以空格为分割
data=cell2mat(textcell);     %转成矩阵形式,再通过Nan判断数据是否有效即可
fclose(fp);

得到data就方便后续数据处理了。

猜你喜欢

转载自www.cnblogs.com/tiandsp/p/11295324.html