2010-10-28 55 views
2

嘿傢伙。我在創建文件名時遇到了一些困難。好的,下面是我想要做的:名爲file_save(filename,input_data)的matlab函數將數據保存到xml文件中。所以在for循環中,我想創建具有順序文件名的xml文件,例如。 output1.xml output2.xml output3.xml難以創建文件名

我想有一些合併文件名的方法嗎?任何人都可以給我一些幫助嗎?

謝謝!

+0

http://stackoverflow.com/questions/4039277/difficulty-in-creating-filename – zellus 2010-10-28 08:33:42

+3

遞歸重複的副本? – Doresoom 2010-10-28 13:28:38

+1

「一重」? – 2010-10-28 21:16:55

回答

2

您可以像MATLAB中的數組一樣連接字符串。 (實際上,字符串當作字符數組)

對於文件#N,

name='MyFile'; 
ext='.xml'; 
filename=[name,num2str(n),ext]; 

應該得到你想要的東西。

由於@Andrew在評論中指出的那樣,你也可以用sprintf格式化文件名:

filename = sprintf('MyFile%0*d.xml', ceil(log10(N+1)), n); 

其中N是你打算命名文件的總數,n是當前的迭代。 ceil(log10(N+1))爲您提供正確的前導零填充所需的位數。

@Azim指出num2str可以完成同樣的事情:

filename=[name,num2str(n,['%0' num2str(ceil(log10(N+1))),'d']),ext]; 
+2

我想你的意思是num2str(n) – Marm0t 2010-10-28 03:06:46

+0

是的你是對的,Marm0t。 num2str(n)是正確的。謝謝,你們兩個! – view 2010-10-28 03:42:32

+0

哎呀,感謝編輯! – Doresoom 2010-10-28 13:26:15