我用 MATLAB 创建了一个 GUI 程序,带有一个菜单栏和选项卡,每个选项卡都包含一个绘图、一个文本框等。问题是,当我从菜单栏中选择一个选项卡并绘制一些东西时,以前绘图中的轴对象不会不会消失。
我尝试使用cla reset
不成功。clf
工作,但我的菜单栏也消失了。
这是我的代码:
function fel1_Callback(hObject, eventdata, handles) %% plot sin(x)
cla reset
clc
clear all
d = inputdlg('n:','Ertekadas',1);
n = str2double(d);
x=linspace(-3*pi,3*pi,1000);
y=sin(x);
plot(x,y,'k','LineWidth',4)
sz='ymcrgbkymcrgbkymcrgbkymcrgbk';
hold on
title('Sin(x) Taylor sora')
%n = str2num(N);
f=zeros(size(x));
for i=1:n
t=(-1)^(i-1)*x.^(2*i-1)/factorial(2*i-1);
f=f+t;
plot(x,f,sz(i),'LineWidth',2)
axis([-10 10 -10 10])
pause(0.1)
hold on
n=n+1;
end
function fel7_Callback(hObject, eventdata, handles) %%Sum 1/n^2
clear all
clc
cla reset
title('Suma 1/n^2','fontsize',20)
d = inputdlg('Epszilon:','Ertek',1);
epsz = str2double(d);
n=1;
x=0;
while 1/n^2>epsz
x=x+sum(1/n^2);
n=n+1;
end
A = uicontrol('style','text','units','pixels',...
'position',[550 550 120 40],'fontsize',20,'string','Epsz =');
B = uicontrol('style','text','units','pixels',...
'position',[670 550 120 40],'fontsize',20);
set(B,'String',epsz)
C = uicontrol('style','text','units','pixels', ...
'position',[550 400 120 40],'fontsize',20,'string','Osszeg =');
D = uicontrol('style','text','units','pixels',...
'position',[670 400 120 40],'fontsize',20);
set(D,'String',x)
我只使用一个主要的 GUI 图形。我的菜单栏包含很多绘图和计算,不仅仅是这两个。