如何使画图的m文件具有plot的和hold on,hold off连用的功能
我想把两个画图的m文件画出的图都在一个图形中表现(代码:huatu1(2,3,4),hold on,huatu2((3,4,5),hold off),如plot和hold on ,off连用的效果.请问如何修改m文件,或在上述图形中修改[ 本帖最后由 eight 于 2007-3-3 14:28 编辑 ] 求助阿,那位高手帮下忙!!!! 请把问题说明清楚
huatu1最好能够给出代码 function huatu(a,b,c)
t=a:0.01:b;
y=sin(t);
switchc
case 1
plot(t,y,'r');
case 2
plot(t,y,'b');
end huatu1和huatu2里的内容类似huatu的代码,如果运行: huatu(1,4,2),hold on,huatu(1,5,1),hold off 只会显示后面一个m文件画图形,我就是想问如何使这两个m文件的图形都画出
拜托!!!!!! 每次Plot前把hold on 改为picture不知能否?! picture; huatu(1,4,2),;picture;huatu(1,5,1),这样吗?
运行后,说picture没定义 两个function中,句柄是不一样的,这样是实现不了的 如果硬要画,可以用如下代码:
function huatu(a,b,c)
clc
t=a:0.01:b;
y=sin(t);
switchc
case 1
if isempty(get(gcf,'currentaxes'))
hFig=plot(t,y,'r');
else
hOld=get(gca,'children');
hOldFig=get(get(hOld,'parent'),'parent');
figure;
plot(t,y,'r');
hNew=gca;
copyobj(hOld,hNew)
close(hOldFig)
end
case 2
if isempty(get(gcf,'currentaxes'))
hFig=plot(t,y,'b');
else
hOld=get(gca,'children');
hOldFig=get(get(hOld,'parent'),'parent');
figure;
plot(t,y,'b');
hNew=gca;
copyobj(hOld,hNew)
close(hOldFig)
end
end
command windows中运行:
huatu(1,2,1)
huatu(2,3,2)
不过恕我直言,你解决这个问题的思路实在是原始得到了家,这样的问题有save/load两个命令,把多次case中的数据加叠存储起来,一次性画,可以不涉及对句柄的复杂操作,而只是数据变量在变动,不比你这样安全和简单?!
页:
[1]