Matlab界面设计的例子.doc
文本预览下载声明
1、很简单,在界面上放三个单选按钮控制颜色(R、G、B),四个pushbutton(功能分别为绘制正弦、余弦、grid off、退出程序),可作为一个小小的入门。
程序为:
%simpleGUI2.m-a simple use of Radiobutton and Pushbutton
clear all;
FigWin=figure(Position,[100,100,600,300],Name,Uicontrol:Push Button RadioButton,...
NumberTitle,off);
AxesHandle=axes(Position,[0.4,0.15,0.5,0.8],Box,on);
?
RadioNum=3;
for i=1:RadioNum
Radio(i)=0;%initial value=0
end
?
Radio(1)=uicontrol(FigWin,...%父对象FigWin(一figure对象),备注③
Style,Radio,...
Position,[50 255 100 30],...
String,Draw in Red,...
CallBack,...
[n=1;...
if get(Radio(1),Value)==1;...%要使各radio button之间具有互斥性,要用if...else语句
set(Radio([1:(n-1),(n+1):RadioNum]),Value,0);...
else;...%要加上分号,一种规定?参备注①
set(Radio(1),Value,1);...
end;...
ColorStr=r;...
set(FunHandle,Color,red)]);%曲线颜色根据radio button的选项实时变化,ColorStr是一个全局变量
?
Radio(2)=uicontrol(FigWin,...
Style,Radio,...
Position,[50 215 100 30],...
String,Draw in Green,...
CallBack,...
[n=2;...
if get(Radio(2),Value)==1;...
set(Radio([1:(n-1),(n+1):RadioNum]),Value,0);...
else;...
set(Radio(2),Value,1);...
end;...
ColorStr=g;...
set(FunHandle,Color,green)]);
?
Radio(3)=uicontrol(FigWin,...
Style,Radio,...
Position,[50 175 100 30],...
String,Draw in Blue,...
CallBack,...
[n=3;...
if get(Radio(3),Value)==1;...
set(Radio([1:(n-1),(n+1):RadioNum]),Value,0);...
else;...
set(Radio(3),Value,1);...
end;...
ColorStr=b;...
set(FunHandle,Color,blue)]);
?
push1=uicontrol(FigWin,...
Style,pushbutton,...
Position,[50 135 100 30],...
String,Plot sin(x),...
CallBack,...
[subplot(AxesHandle); ...%注意父对象是AxesHandle而非FigWin!参备注②
x=0:.1:4*pi;...
FunHandle=plot(x,sin(x),ColorStr);...%ColorStr变量的值受radiobutton控制
axis([0 4*pi -1 1]);...
grid on;...
xlabel(x);...
ylabel(y=sin(x));]);
?
push2=uicontrol(FigWin,...
Style,pushbutton,...
Position,[50 95 100 30],...
String,Plot cos(x),...
CallBack,...
[subplot(AxesHandle); ...
x=0:.1:4*pi;...
FunHandle=plot(x,cos(x),ColorStr);...
axis([0 4*pi -1 1]);...
grid on;...
xlabel(x);...
ylabel(y=cos(x));]);
?
push3=uicontrol(FigWin,...
Style,pushbutton,...
P
显示全部