24小时热门版块排行榜    

查看: 1240  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gnehsijux

新虫 (小有名气)

[求助] 图片自动播放时为什么会越来越小 已有1人参与

用该程序处理数据,图可以自动播放,一开始图片大小还正常,但是越往后越小。关掉figure,重新打开图片大小会恢复一点,但很快又变小了。请问这是怎么回事啊?所用matlab版本为2013a

程序代码如下。该程序是一系列程序中的中间部分。
function Compare2Models(data,fA,fB)

eval(['ModelA=','data.Model',int2str(fA)]);
eval(['ModelB=','data.Model',int2str(fB)]);

MA =nmodel(ModelA);   
EA=data.X-MA;
MA=data.X-EA;

MB =nmodel(ModelB);   
EB=data.X-MB;
MB=data.X-EB;


figure;
for i=(1:1data.nSample)), pause(0.2)  
subplot(3,3,2),
contourf(data.Ex,data.Em,(squeeze(data.X(i,:,))), colorbar   
title(['Measured (' num2str(i) ')']),
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,4),
contourf(data.Ex,data.Em,(squeeze(MA(i,:,))), colorbar
title(([num2str(fA) ' component model']))
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,7),
contourf(data.Ex,data.Em,(squeeze(EA(i,:,))), colorbar
title('Residuals')
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,6),
contourf(data.Ex,data.Em,(squeeze(MB(i,:,))), colorbar
title(([num2str(fB) ' component model' ]))
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,9),
contourf(data.Ex,data.Em,(squeeze(EB(i,:,))), colorbar
title('Residuals')
xlabel('Ex. (nm)')
ylabel('Em. (nm)')

end

图片自动播放时为什么会越来越小
正常图片.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

引用回帖:
4楼: Originally posted by gnehsijux at 2014-06-19 08:46:04
图片变小就相当于附件中的每个图(附件中是有5个图)都按比例缩小了,每次按键盘上的键后都会出现一张类似于附件中的图,一共有好多张这种图,越到后面图就越小,最后都变成小点了。不知道怎么回事。
如果真是其它 ...

我用这个类似的运行了一下,你可以观察到图片其实没有变化:
CODE:
for ff = 1:3
    figure;
    for ii = 1:20
        b = rand(20,1);
        subplot(3,3,1);
        plot(b);
        b = rand(20,1);
        subplot(3,3,3);
        plot(b);
        b = rand(20,1);
        subplot(3,3,5);
        plot(b);
        b = rand(20,1);
        subplot(3,3,7);
        plot(b);
        b = rand(20,1);
        subplot(3,3,9);
        plot(b);
        pause(0.2);
    end
end

出很多图片是因为你在每次画图之前都用了figure命令;
所以估计你需要检查的是:
1. 在其他函数里面是否有关于图片的一些设置;
2. 检查一下你的数据,每次循环得到的用于画图的数据(这里应该是data吧)是否改变,以至于在画图的时候用的那个画图命令会使图片改变了(我猜数据变化只会改变坐标而不会改变图片大小);
你可以把画图的那一部分按照我给的代码运行3次,就会得到3个figure,你可以观察是否会变化,如果变了,那就是这里的问题,如果没变,那估计就是程序中其它地方对图片进行设置了~~
What would Jesus do?
5楼2014-06-19 11:27:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

gnehsijux

新虫 (小有名气)

我去!好智能,将:和)的组合体直接变成了微笑的图像。再发一次代码
function Compare2Models(data,fA,fB)

eval(['ModelA=','data.Model',int2str(fA)]);
eval(['ModelB=','data.Model',int2str(fB)]);

MA =nmodel(ModelA);   
EA=data.X-MA;
MA=data.X-EA;

MB =nmodel(ModelB);   
EB=data.X-MB;
MB=data.X-EB;


figure;
for i=(1:1: (data.nSample)), pause(0.2)  
subplot(3,3,2),
contourf(data.Ex,data.Em,(squeeze(data.X(i,:,: )))), colorbar   
title(['Measured (' num2str(i) ')']),
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,4),
contourf(data.Ex,data.Em,(squeeze(MA(i,:,: )))), colorbar
title(([num2str(fA) ' component model']))
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,7),
contourf(data.Ex,data.Em,(squeeze(EA(i,:,: )))), colorbar
title('Residuals')
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,6),
contourf(data.Ex,data.Em,(squeeze(MB(i,:,: )))), colorbar
title(([num2str(fB) ' component model' ]))
xlabel('Ex. (nm)')
ylabel('Em. (nm)')
subplot(3,3,9),
contourf(data.Ex,data.Em,(squeeze(EB(i,:,: )))), colorbar
title('Residuals')
xlabel('Ex. (nm)')
ylabel('Em. (nm)')

end
2楼2014-06-18 10:17:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
gnehsijux: 金币+30, ★★★很有帮助 2014-06-20 17:05:17
仅仅在这个函数里面是没有问题的,不会变小;
不知道你图片变小是什么意思,要排查的话就要看看你整个包的程序了,可能其他程序中有一些设置使图片发生变化;
What would Jesus do?
3楼2014-06-18 13:41:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gnehsijux

新虫 (小有名气)

引用回帖:
3楼: Originally posted by dnp at 2014-06-18 13:41:18
仅仅在这个函数里面是没有问题的,不会变小;
不知道你图片变小是什么意思,要排查的话就要看看你整个包的程序了,可能其他程序中有一些设置使图片发生变化;

图片变小就相当于附件中的每个图(附件中是有5个图)都按比例缩小了,每次按键盘上的键后都会出现一张类似于附件中的图,一共有好多张这种图,越到后面图就越小,最后都变成小点了。不知道怎么回事。
如果真是其它程序中的设置问题,那就麻烦了,程序太多。
4楼2014-06-19 08:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见