poster
2019-12-10, 20:48
大家好。我在创建文件名时遇到一些困难。好的,这就是我想要做的:一个名为file_save(filename,input_data)的matlab函数是将数据保存到xml文件中。所以在for循环中,我想使用顺序文件名创建xml文件。 output1.xml output2.xml output3.xml
我猜有一些组合文件名的方法吗?有人可以帮我吗?
谢谢!
回答:
您可以使用与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];
更多&回答... (https://stackoverflow.com/questions/4039277)
我猜有一些组合文件名的方法吗?有人可以帮我吗?
谢谢!
回答:
您可以使用与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];
更多&回答... (https://stackoverflow.com/questions/4039277)