2013-05-30 80 views
0

我正在使用MATLAB R2010b。我正在用k-means算法进行聚类。每次执行时,它总是显示不同的结果。我希望在Excel中保存它。如何让用户在MATLAB中输入EXCEL文件的名称?

这里是我的代码片段:

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

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

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

我很欣赏所有的答案。

谢谢。

回答

2

使用输入功能:

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

非常感谢!这很简单,而且更容易。去这里。 :) –

4

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

+0

谢谢你,谢谢你的回答,但是uigetfile根本就不是我要找的东西。它用于导入文件。在这种情况下,我想**将文件导出到excel中。我已经做得很清楚了(查看代码片段),但我想要求用户在导出之前输入他们自己的excel的名称。 –

+0

@AlviSyahrin您是否考虑过我提供的'uiputfile'? – Shai

2

我建议一个稍微不同的替代方案,即,通过改变第三输入各组结果写入到一个单独的在Excel中。

下面的循环演示了一个简单的例子:

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

你会发现他张名为sheet1, sheet2,...

您也可以禁止有关创建新表与警告:

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

+1尤其是,如果OP想要保存所有历史记录,连续输入文件名可能会变得繁琐。 – Schorsch

+0

谢谢你的另一种想法!我认为这将会更有效率。 :) –

相关问题