-4

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

4

3 回答 3

1

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

    A = dlmread("filename.dat",';');

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

于 2012-05-28T12:30:40.543 回答
1

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

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

于 2012-05-28T06:06:29.743 回答
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)

截屏

于 2012-05-28T06:07:12.547 回答