如何通过MATLAB中的文件提供输入?

时间:2012-05-28 05:58:01

标签: matlab file-io cluster-analysis

我有一个数据文件,其中包含50个用记事本编写的2-D数据点。我想在聚类算法中使用它来聚类这50个点。我该如何导入这个文件?有什么其他方法可以在程序中使用它吗?

3 个答案:

答案 0 :(得分:1)

您可以将数据另存为.csv文件,也可以将其保存到Excel电子表格中并使用xlsread()。有关详细信息,请参阅此处:http://www.mathworks.com/help/techdoc/ref/xlsread.html

对于.csv案例,这篇文章应该有用:Fastest way to import CSV files in MATLAB

答案 1 :(得分:1)

想象一下,您有以下数据:

X = [randn(100,2)-1 ; randn(100,2)];
save data.mat X

然后就像做一样简单:

%# load data from MAT-file
load data.mat

%# cluster into K=2 clusters
C = kmeans(X,2);

%# show cluster assignment
gscatter(X(:,1), X(:,2), C)

screenshot

答案 2 :(得分:1)

这取决于您如何格式化数据文件。你说它保存在记事本上但是没有太大帮助。根据您用作数据分隔符的内容,您可以使用dlmread函数将数据文件导入数组。例如,如果您的文件名为filename.dat并且已使用过;用于分隔此文件中每个数据项的字符,您可以使用

将数据读入矩阵A.
    A = dlmread("filename.dat",';');

我建议阅读matlab中关于dlmread函数的帮助文档。