matlab的gui是什么,什么是matlab gui

该博客介绍了MATLAB的GUI(图形用户界面)构造过程,通过一个名为simple_gui2的函数展示了如何创建一个选择数据集并绘制不同类型图形(如曲面、网格和等高线)的GUI。用户可以通过弹出菜单选择数据,并点击按钮以相应类型的图进行展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function simple_gui2

% SIMPLE_GUI2 Select a data set from the pop-up menu, then

% click one of the plot-type push buttons. Clicking the button

% plots the selected data in the axes.

% Create and then hide the GUI as it is being constructed.

clc

f = figure('Visible','off','Position',[360,500,450,285]);

% Construct the components.

hsurf = uicontrol('Style','pushbutton','String','Surf',...

'Position',[315,220,70,25],...

'Callback',{@surfbutton_Callback});

hmesh = uicontrol('Style','pushbutton','String','Mesh',...

'Position',[315,180,70,25],...

'Callback',{@meshbutton_Callback});

hcontour = uicontrol('Style','pushbutton',...

'String','Countour',...

'Position',[315,135,70,25],...

'Callback',{@contourbutton_Callback});

htext = uicontrol('Style','text','String','Select Data',...

'Position',[325,90,60,15]);

hpopup = uicontrol('Style','popupmenu',...

'String',{'Peaks','Membrane','Sinc'},...

'Position',[300,50,100,25],...

'Callback',{@popup_menu_Callback});

ha = axes('Units','Pixels','Position',[50,60,200,185]);

align([hsurf,hmesh,hcontour,htext,hpopup],'Center','None');

% Create the data to plot.

data.peaks_data = peaks(35);

data.membrane_data = membrane;

[x,y] = meshgrid(-8:.5:8);

r = sqrt(x.^2+y.^2) + eps;

data.sinc_data = sin(r)./r;

% Initialize the GUI.

% Change units to normalized so components resize

% automatically.

set([f,ha,hsurf,hmesh,hcontour,htext,hpopup],...

'Units','normalized');

%Create a plot in the axes.

data.current_data = data.peaks_data;

surf(data.current_data);

guidata(f,data);

% Assign the GUI a name to appear in the window title.

set(f,'Name','Simple GUI')

% Move the GUI to the center of the screen.

movegui(f,'center')

% Make the GUI visible.

set(f,'Visible','on');

% Callbacks for simple_gui2. These callbacks automatically

% have access to component handles and initialized data

% because they are nested at a lower level.

% Pop-up menu callback. Read the pop-up menu Value property

% to determine which item is currently displayed and make it

% the current data.

function popup_menu_Callback(source,eventdata)

% Determine the selected data set.

str = get(source, 'String');

val = get(source,'Value');

% Set current data to the selected data set.

data=guidata(source);

switch str{val};

case 'Peaks' % User selects Peaks.

data.current_data = data.peaks_data;

case 'Membrane' % User selects Membrane.

data.current_data = data.membrane_data;

case 'Sinc' % User selects Sinc.

data.current_data = data.sinc_data;

end

guidata(source,data)% save the change of data.current_data

end

% Push button callbacks. Each callback plots current_data in

% the specified plot type.

function surfbutton_Callback(source,eventdata)

% Display surf plot of the currently selected data.

data=guidata(source);

surf(data.current_data);

end

function meshbutton_Callback(source,eventdata)

% Display mesh plot of the currently selected data.

data=guidata(source);

mesh(data.current_data);

end

function contourbutton_Callback(source,eventdata)

% Display contour plot of the currently selected data.

data=guidata(source);

contour(data.current_data);

end

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值