作业帮 > 综合 > 作业

delete(findobj(gcf,'type','text')); matlab中这句语句的作用是什么?为什么在下面

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 11:07:35
delete(findobj(gcf,'type','text')); matlab中这句语句的作用是什么?为什么在下面程序中有它没它都一样
x=-10:0.1:10;
y=10:0.1:20;
subplot(221);plot(sin(x));
subplot(222);plot(cos(x));
subplot(223);plot(y.^2);
subplot(224);plot(1./y);
delete(findobj(gcf,'type','text'));
subplot(221);title('正弦');
subplot(222);title('余弦');
subplot(223);title('二次');
subplot(224);title('双曲');
>>
>> figure;
x=-10:0.1:10;
y=10:0.1:20;
subplot(221);plot(sin(x));
subplot(222);plot(cos(x));
subplot(223);plot(y.^2);
subplot(224);plot(1./y);
subplot(221);title('正弦');
subplot(222);title('余弦');
subplot(223);title('二次');
subplot(224);title('双曲');
>>
两个程序中有没有delete(findobj(gcf,'type','text'));这句都是一样的!请高手不吝赐教!
首先gcf表示当前界面,因为在这两个程序里面对于界面而言均没有写如任何文本文件,所以delete没有任何作用;
例如下面这个程序:
x=-10:0.1:10;
y=10:0.1:20;
plot(1./y);
title('(a)')%加一个标题
h=allchild(gca);%得到当前坐标轴的所有句柄值;
q=get(h(4));%当发现第4个为写入的标题
set(h(4),'color','r')%为了验证是否正确;
delete(findobj(h(4),'type','text'))%此时删除这个标题
这样delete就起作用了,不知道你明白了吗?