我想在matlab gui界面同时显示两个动画,动画的原理是每秒导入一张图。我现在可以显示一个动画。但是想要显示另一个动画的时候,旁边那个动画就停止了。有什么办法可以让他们同时动起来,也就是同时执行命令,是不是有点像多线程的意思
path1='C:\Users\yyhhrr7\Desktop\ansystest\test4.1\temp\'; %如果不希望等待执行完毕才返回,可以在命令后加一个"&"
for i=1:20
for j=0:59
filename=sprintf('file%03d.jpg',(i-1)*60+j); % %03d 表示规定数字位数为3位
x1=imread([path1 filename]);
imshow(x1,'Parent',app.UIAxes);
pause(1);
end
end
path2='C:\Users\yyhhrr7\Desktop\ansystest\test4.1\deformation\';
for i=1:20
for j=1:6
filename=sprintf('file%03d.jpg',(i-1)*6+j); % %03d 表示规定数字位数为3位
x2=imread([path2 filename]);
imshow(x2,'Parent',app.UIAxes_2);
pause(10);
end
end
修改了
path1='C:\Users\yyhhrr7\Desktop\ansystest\test4.1\temp\'; %如果不希望等待执行完毕才返回,可以在命令后加一个"&"
i1=1;
j1=0;
i2=1;
j2=1;
j=0;
for k =1:1200
filename=sprintf('file%03d.jpg',(i1-1)*60+j1); % %03d 表示规定数字位数为3位
x1=imread([path1 filename]);
imshow(x1,'Parent',app.UIAxes);
path2='C:\Users\yyhhrr7\Desktop\ansystest\test4.1\deformation\';
filename=sprintf('file%03d.jpg',(i2-1)*6+j2); % %03d 表示规定数字位数为3位
x2=imread([path2 filename]);
imshow(x2,'Parent',app.UIAxes_2);
j1=j1+1;
if j1==60
j1=0;
i1=i1+1;
end
j=j+1;
if j==10
j=0;
j2=j2+1;
end
if j2==7
j2=1;
i2=i2+1;
end
pause(1);
end
把上下两个循环里内容并到一起试试看