24小时热门版块排行榜    

查看: 1243  |  回复: 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

荣誉版主 (知名作家)

小木虫浪子

优秀版主

引用回帖:
8楼: Originally posted by gnehsijux at 2014-06-20 11:52:51
不好意思,这个是我弄错了。你第二个提到的“每次按键盘上的键后都会出现一张类似于附件中的图”是另外一个程序出现的问题,需要按键盘上的键才会出现图,是独立的图。现在黏贴的这个程序是自动出图。我把那个程序 ...

如果这样的话可能是其他的程序或者这个程序的后面在运行完这个程序的时候运行了close或者clf等清除或关闭图片的命令;
你可以在那些调用这个函数的程序中找是否存在设置图片的代码~~
可以以以下方式排查:
用matlab的debug功能,具体可以网上搜;
运行你贴出来的代码(不要运行函数,直接在这个函数里面运行代码),看图片是否发生变化;
然后跳出来,运行调用这个函数的那一部分代码,看图片是否发生变化,然后寻找调用这个函数附近是否有命令设置了图片等;
What would Jesus do?
9楼2014-06-20 12:39:54
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见