【问题标题】:How to I give input through a file in MATLAB?如何通过 MATLAB 中的文件提供输入?
【发布时间】:2012-06-02 13:02:18
【问题描述】:

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

【问题讨论】:

  • 在适当的软件中打开文件

标签: matlab file-io cluster-analysis


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    假设您有以下数据:

    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)
    

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-08-22
        • 2017-12-07
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-16
        • 2018-06-06
        • 2015-03-18
        相关资源
        最近更新 更多