我想使用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填充短行以使所有行具有相同的长度?
答案 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”填充“空单元格”。