如何让用户在MATLAB中inputEXCEL文件的名称?

我正在使用MATLAB R2010b。 我正在用k-meansalgorithm进行聚类。 每次执行时都会显示不同的结果。 而且我希望在Excel中保存它。

这是我的代码片段:

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

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

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

我感谢所有的答案。

谢谢。

使用inputfunction:

 y = [data x]; xlsFileName = input('Enter the name for the xls file: ', 's'); xlswrite(xlsFileName, y, 'KMEANS', 'A1'); 

这似乎你可能会发现uiputfile对你的任务有用。
请参阅文档: http : //www.mathworks.com/help/matlab/ref/uiputfile.html

我会build议一个稍微不同的替代方法,即通过更改第三个input,将每组结果写入Excel中的单独表单

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

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

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

您还可以使用以下命令禁止关于创build新工作表的警告:

 warning('off','MATLAB:xlswrite:AddSheet')