将文件中的数据加载到多个数组中

时间:2014-07-14 16:35:47

标签: matlab matrix divide

我想使用Matlab在.dat文件中使用以下数据绘制每个值:

100  20  30  40  70 
200  32  122  45  483

200  388  93  344  23  222 
234  23  122
123  984  344  34

213  12  43  9
23

对于每一行,数据由" "(2个空格)分隔为分隔符。空行(应该是另一种分隔符)将数据分成不同的数组。

因此,我想在一个图中绘制三个数组:数组1有2行"红点"在图中;数组2有3行,带有"蓝点"并且数组3有2行,带有"绿点"。

如何编程将文件数据加载到三个数组(或矩阵)中,然后绘制它们?

编辑: 顺便说一下,每行中的项目数可能不同。如何使用" 0" s填充短行以使所有行具有相同的长度?

1 个答案:

答案 0 :(得分:0)

请参阅this

strsplit(str,delimiter)

要将数组拆分为不同的变量,您可以执行以下操作:

# Where OriginalInputData is a string containing the whole .dat file.
InputData = strsplit(OriginalInputData, /n/n) #Cell array of strings
PreArray1 = strsplit(InputData(1), /n)
Array1(1,:) = strsplit(PreArray1(1), "  ")
Array1(2,:) = strsplit(PreArray1(2), "  ")
#Plot Array1

将相同的逻辑应用于其他阵列。它还会用“0”填充“空单元格”。