MATLAB GUI
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB GUI相关的知识,希望对你有一定的参考价值。
可不可以在一个axes里轮流呈现多个图形,假如运行GUI程序后,首先呈现在里面的是第一个波形,然后用按钮或其它方式再依次呈现其它特征波形呢?希望大虾能帮帮我
这是非常基本的问题,请看matlab提供的gui帮助文件吧。下面是matlab帮助里面的一个用纯代码生成GUI的例子,有你需要的类似功能。
本来其数据共享是采用嵌套函数的,但在6.5版本下好像不行,我改成用guidata函数进行存取数据的方式了,供你运行参考。
看起来代码很长,其实并不难的,但愿对你有帮助,O(∩_∩)O~。
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 strval;
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 参考技术A 完全可以实现,在按钮回调函数里编辑命令使图形和axes相关联即可
图像评价基于matlab GUI图像质量评价含Matlab源码 1373期
一、简介
理论知识参考文献:图像印刷质量的客观评价——以报纸印刷为例
二、部分源代码
function varargout = IQA(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(\'gui_Na
以上是关于MATLAB GUI的主要内容,如果未能解决你的问题,请参考以下文章