如何快速生成如下的字符串?
我现在要处理很多数据文件,文件名为 abc00001,abc00002,... abc00009,abc00010,... abc00099,abc00100,...abc00879.准备把这些文件名给放到一个数组里面去。不知道如果用循环,ii 为变量,如何不用if语句来判断 ii 的数值,快速生成这个字符串数组? 原来用if 判断 ii 的数值大小,然后前面加上abc和不同的0的个数,感觉很繁琐...
当然,不用循环的方式更好,不知道有没有?
谢谢! 试试如下代码:
%%%%%%%%%%%%%%
for k=1:100
strcat('abc00',num2str(k))
end
%%%%%%%%%%%%%% 谢谢指点,不过你的代码生成的是 abc001,abc002,...abc009,abc0010。。 ,而我想要的是abc010这样的形式,即文件名中的数字位数加1,前面的0就要减少1个... 呵呵 原帖由 心灯 于 2007-1-19 12:09 发表
谢谢指点,不过你的代码生成的是 abc001,abc002,...abc009,abc0010。。 ,而我想要的是abc010这样的形式,即文件名中的数字位数加1,前面的0就要减少1个... 呵呵
for k=1:100
a(k) = sprintf('%.5d',k);
end
[ 本帖最后由 eight 于 2007-1-19 18:40 编辑 ]
回复
to 心灯:不好意思,没有仔细看.再试试如下代码:
%%%%%%%%%%%%%
for k=1:100
a{k}= sprintf('%.5d',k); %%%eight的程序我好象运行不了,不过思路是对的
b{k}=strcat('abc',a{k});
end
b
%%%%%%%%%%%%% ()、[]、与{}的区别是什么?准确的说这应该是变量元素引用的问题吧。
a{}用在单元型变量元素引用中,还有对单元型变量a()显示的是它的简写形式;
a()用在向量、矩阵的元素引用中
a[]没有这个形式吧。
[ 本帖最后由 geoer 于 2007-1-19 15:24 编辑 ]
回复 #6 geoer 的帖子
您可以再另开一个帖子专门讨论三个括号的区别
对于初学者 是很有帮助的 原帖由 xjzuo 于 2007-1-19 14:51 发表
to 心灯:不好意思,没有仔细看.
再试试如下代码:
%%%%%%%%%%%%%
for k=1:100
a{k}= sprintf('%.5d',k); %%%eight的程序我好象运行不了,不过思路是对的
b{k}=strcat('abc',a{k});
end
b
%%%% ...
唉,不好意思,感冒的时候头脑反应是迟钝点的了,居然把matlab的数组当作了c来使用,汗一个,我的意思就是存放到数组中 不错,谢谢几位的帮助。:@) 问题可以解决了。 原帖由 geoer 于 2007-1-19 15:11 发表
()、[]、与{}的区别是什么?准确的说这应该是变量元素引用的问题吧。
a{}用在单元型变量元素引用中,还有对单元型变量a()显示的是它的简写形式;
a()用在向量、矩阵的元素引用中
a[]没有这个形式吧。
()算术表达式中的应用就不用说了,它还可以用于函数的参数,或者向量矩阵的下标
[]用于表示向量或者矩阵
{}一般用于单元数组
没有a[]的形式 非常有启发性 谢谢各位的讨论
页:
[1]