用到一个小功能,叫做读取元胞数组内的数据并进行动态画图,就是在图像上随着x的变化循环显示y的值,并标为红色,写了个很好用的函数,分享一下!
想要直接用的可以去我资源界面下载,与博客同名。
具体代码
:
ima是一个cell阵,动态画图里面的m行,n列对应元素,也可以改成矩阵。
我的数据中x为1-15,对应的y值如图,例如执行命令
可以动态显示并保存。
function dongtaihuatu(img,m,n)
shujv=img{m,n};
x = 1:size(shujv,2);
y = shujv(1,x);
plot(x,y)
axis manual
ax = gca;
h = hgtransform('Parent',ax);
hold on
plot(x(1),y(1),'o','Parent',h);
str=['题目'];
title(str);
xlabel('x轴');
ylabel('y轴');
hold off
t = text(x(1),y(1),num2str(y(1)),'Parent',h,...
'VerticalAlignment','top','FontSize',14);
pic_num=1;
prompt = '请输入要循环几次:';
fprintf('\n')
cishu= input(prompt);
for kk=1:cishu
for k = 2:length(x)
m = makehgtform('translate',x(k)-x(1),y(k)-y(1),0);
h.Matrix = m;
t.String = num2str(y(k));
F=getframe(gcf);
I=frame2im(F);
[I,map]=rgb2ind(I,256);
if pic_num==1
imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',0.2);
elseif mod(pic_num,3)==1
imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',0.2);
end
pic_num = pic_num + 1;
drawnow limitrate
drawnow
pause(0.5)
end
end
end
编写不易,求个点赞!!!!!!!
“你是谁?”
“一个看帖子的人。”
“看帖子不点赞啊?”
“你点赞吗?”
“当然点了。”
“我也会点。”
“谁会把经验写在帖子里。”
“写在帖子里的那能叫经验贴?”
“上流!”
cheer!!!