如何在 matlab 的 for 循环中制作不同名称的电影
How to make differently named movies in a for-loop in matlab
假设我有一个 for 循环。
count=1;
for t=1:20
while(true)
figure();
(do sth...)
view([-90 -90])
pause(0.01)
M(count)=getframe;
count=count+1;
end
movie2avi(M, 're.avi');
end
在 for 循环中有一个 while 循环,我正在制作我的电影。但是在 for 循环的每次迭代中都会制作一部电影。我想将每部电影的名称存储为 re1、re2、...re20 等。怎么修改命令movie2avi(M, 're.avi');
去做呢?
使用 num2str
将索引 t
转换为字符串并连接:
movie2avi(M, ['re',num2str(t),'.avi']);
这将生成 re1.avi
,re2.avi
,...,re20.avi
.
为了更好地对文件进行排序,您可能还想在文件名中添加前导 0
:
movie2avi(M, ['re',num2str(t,'%02G'),'.avi']);
这将生成 re01.avi
、re02.avi
、...、re20.avi
。额外的参数 '%02G'
是一个 formatspec ,它创建一个看起来像整数的字符串,其长度至少为 2,并用零填充长度为 1 的数字。
假设我有一个 for 循环。
count=1;
for t=1:20
while(true)
figure();
(do sth...)
view([-90 -90])
pause(0.01)
M(count)=getframe;
count=count+1;
end
movie2avi(M, 're.avi');
end
在 for 循环中有一个 while 循环,我正在制作我的电影。但是在 for 循环的每次迭代中都会制作一部电影。我想将每部电影的名称存储为 re1、re2、...re20 等。怎么修改命令movie2avi(M, 're.avi');
去做呢?
使用 num2str
将索引 t
转换为字符串并连接:
movie2avi(M, ['re',num2str(t),'.avi']);
这将生成 re1.avi
,re2.avi
,...,re20.avi
.
为了更好地对文件进行排序,您可能还想在文件名中添加前导 0
:
movie2avi(M, ['re',num2str(t,'%02G'),'.avi']);
这将生成 re01.avi
、re02.avi
、...、re20.avi
。额外的参数 '%02G'
是一个 formatspec ,它创建一个看起来像整数的字符串,其长度至少为 2,并用零填充长度为 1 的数字。