0

我正在使用 MATLAB R2010b。我正在使用 k-means 算法进行聚类。并且每次执行时,总是显示不同的结果。我希望它始终保存在 Excel 中。

这是我的代码片段:

y = [data x];
xlswrite('clustering.xls', y, 'KMEANS', 'A1');

正如我之前所说;每次执行时,它都会显示不同的结果,因此 clustering.xls 总是会更新、更新和更新——而不保存旧文件。我想保存所有的历史。我认为唯一可以解决这个问题的方法是用户重命名他们自己的文件——但效率不高。所以,我想我需要一个消息框让用户输入他们的 xls 文件的名称。

如何使它成为可能?任何的想法?

我很感激所有的答案。

谢谢你。

4

3 回答 3

4

看起来您可能会发现uiputfile对您的任务有用。
见文档: http: //www.mathworks.com/help/matlab/ref/uiputfile.html

于 2013-05-30T11:14:01.240 回答
2

使用输入函数:

y = [data x];
xlsFileName = input('Enter the name for the xls file: ', 's');
xlswrite(xlsFileName, y, 'KMEANS', 'A1');
于 2013-05-30T14:45:55.023 回答
2

我会建议一个稍微不同的替代方案,即通过更改第三个输入将每组结果写入 excel 中的单独工作

以下循环演示了一个基本示例:

for ii = 1:10
    xlswrite('test.xlsx',rand(10),ii)
end

你会发现他的床单被命名为sheet1, sheet2,...

您还可以使用以下命令抑制有关创建新工作表的警告:

warning('off','MATLAB:xlswrite:AddSheet')
于 2013-05-30T15:03:32.127 回答