精华内容
下载资源
问答
  • 2021-04-18 14:46:58

    最近在关注MATLAB中GUI界面设计,我想在界面中设计一个按钮,然后点击按钮加载数据,可以加载外部数据,比如.mat文件,然后将mat数据中的变量全部加载到工作空间中。

    代码如下:

    [filename, pathname] = uigetfile( ...

    {'*.m;*.fig;*.mat;*.mdl', 'All MATLAB Files (*.m, *.fig, *.mat, *.mdl)'; ...

    '*.*', 'All Files (*.*)'}, ...

    'Pick a file');

    if (filename==0 & pathname==0)

    msgbox('您没有选择文件,请重新选择!','打开文件出错','error');

    else

    Numdata = load(strcat([pathname,filename])); %加载数据,保存为一个结构体

    dataname=fieldnames(Numdata); %获取结构体的所有变量名,保存为一个矩阵

    length = size(dataname,1); %获取矩阵的长度

    for i=1:length

    strname = dataname(i,1);

    assignin('base',char(strname), getfield(Numdata,char(strname)));% 要将变量名转换为字符串,getfield获取结构体中指定变量的值,然后用assignin将变量加载到工作空间

    end

    msgbox('打开及读取数据完毕!','确认','warn');

    end

    最后可以将.mat中所有的变量成功加载matlab的工作空间中,这段代码放在按钮的回调函数下。

    更多相关内容
  • MATLAB GUI界面设计

    2018-08-17 22:31:31
    MATLAB GUI界面设计,简单易懂,GUI设计比较好,建议学习。
  • 软件界面上能显示课程设计题目、四则运算控制按钮、两组输入控件、一组输出控件,可实现连续运算,可实现单个元素的运算,也可实现一组数据的运算,可显视运算成功或运算错误提示。
  • 基于MATLAB GUI 界面设计解线性方程组matlab基于MATLAB GUI 界面设计解线性方程组matlab
  • MATLAB实现linear;pchip;spline三种不同插值方法的GUI界面设计
  • Matlab GUI登录界面设计

    2019-05-07 16:18:21
    Matlab GUI登录界面设计!欢迎下载!
  • Matlab GUI界面设计

    万次阅读 多人点赞 2017-01-24 07:44:48
    摘要:本篇博文基于MATLAB2014a进行GUI设计

    摘要:本篇博文基于MATLAB2014a进行GUI设计。

    1.启动GUI设计

    命令行输入guide,回车。

    即可得到下面的对话框,进行相关的选择和设置

    点击确定,得到两个文件,一个是.m文件,另一个是.fig文件,需要说明的是,.m文件用于编辑GUI中控件所需要的回调代码,.fig文件可以用鼠标拖拽等比较简单的操作进行初始的界面设计。

    2..fig文件控件布局

    本篇暂时涉及按钮、可编辑文本、静态文本、弹出式菜单、轴的实现,拖拽这些控件到界面中,可以点击绿色三角形运行GUI看看效果。

    双击任意控件可以弹出控件的属性检查器,这里可以更改控件的初始属性,并且可以查看控件的tag值,用于回调程序的句柄调用。

    3.GUI初始程序编写

    3.1.初始程序是界面运行时最先执行的程序,用于对控件等的一些初始设置,该部分的代码应该添加在.m文件的test_OpeningFcn(hObject, eventdata, handles, varargin)函数中。

    插入如下代码,使得可编辑文本失效

    set(handles.edit1,'enable','off');
    

    3.2.按钮程序编写,使得可编辑文本生效,右击按钮->查看回调->Callback,输入

    set(handles.edit1,'enable','on');

    3.3.可编辑文本程序编写,当可编辑文本框中输入文字后,在静态文本中显示出来

    右击可编辑文本->查看回调->Callback,输入

    set(handles.text1,'string',get(handles.edit1,'string'));

    3.4.弹出式菜单编写

    双击弹出式菜单,调出属性编辑器,进行以下操作

                 

    输入相应文字,点击确定。

    该部分函数编写,右击弹出式菜单->查看回调->Callback,输入

    3.5.轴部分程序编写

    为了简单起见,这部分内容写在程序开头,作用是显示了一个正弦曲线

    代码如下:

    axes(handles.axes1)
    t=0:0.001:4*pi;
    f=sin(t);
    plot(t,f,'g')
    axis([0 4*pi -1 1])
    grid on
    xlabel('t')
    ylabel('sin(t)')
    title('正弦函数图像')
    legend('f=sin(t)')

    至此,基本功能均可实现

    4.总结

    ①每个控件均可在属性编辑器里面设置初始值;

    ②如果需要全局变量,在定义和使用的时候都需要写关键字global。

    5.附上全部代码。

    function varargout = test(varargin)
    % TEST MATLAB code for test.fig
    %      TEST, by itself, creates a new TEST or raises the existing
    %      singleton*.
    %
    %      H = TEST returns the handle to a new TEST or the handle to
    %      the existing singleton*.
    %
    %      TEST('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in TEST.M with the given input arguments.
    %
    %      TEST('Property','Value',...) creates a new TEST or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before test_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to test_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
    
    % Edit the above text to modify the response to help test
    
    % Last Modified by GUIDE v2.5 26-Jan-2017 16:20:09
    
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @test_OpeningFcn, ...
                       'gui_OutputFcn',  @test_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
    
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
    
    
    % --- Executes just before test is made visible.
    function test_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to test (see VARARGIN)
    set(handles.edit1,'enable','off');
    axes(handles.axes1)
    t=0:0.001:4*pi;
    f=sin(t);
    plot(t,f,'g')
    axis([0 4*pi -1 1])
    grid on
    xlabel('t')
    ylabel('sin(t)')
    title('正弦函数图像')
    legend('f=sin(t)')
    % Choose default command line output for test
    handles.output = hObject;
    
    % Update handles structure
    guidata(hObject, handles);
    
    % UIWAIT makes test wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
    
    
    % --- Outputs from this function are returned to the command line.
    function varargout = test_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Get default command line output from handles structure
    varargout{1} = handles.output;
    
    
    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    set(handles.edit1,'enable','on');
    
    
    function edit1_Callback(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    set(handles.text1,'string',get(handles.edit1,'string'));
    % Hints: get(hObject,'String') returns contents of edit1 as text
    %        str2double(get(hObject,'String')) returns contents of edit1 as a double
    
    
    % --- Executes during object creation, after setting all properties.
    function edit1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
    
    
    % --- Executes on selection change in popupmenu1.
    function popupmenu1_Callback(hObject, eventdata, handles)
    % hObject    handle to popupmenu1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    str = get(handles.popupmenu1, 'String');
    val = get(handles.popupmenu1,'Value');
    switch str{val};
    case '选项一'
        set(handles.text1,'string','选项一触发');
    case '选项二'
        set(handles.text1,'string','选项二触发');
    case '选项三'
        set(handles.text1,'string','选项三触发');
    end
    % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
    %        contents{get(hObject,'Value')} returns selected item from popupmenu1
    
    
    % --- Executes during object creation, after setting all properties.
    function popupmenu1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to popupmenu1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: popupmenu controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end

    相关下载如下:

    test.fig

    test.m


     

    欢迎交流指正。。。
     


     

    展开全文
  • matlab GUI界面设计

    2011-08-27 08:09:50
    关于matlab界面设计的超全ppt,轻松掌握matlab界面设计
  • 利用matlab gui界面设计

    2018-11-30 19:58:49
    通过输入焊缝坡口某界面的4个特征点,可自行生成焊缝坡口的理想三维模型,适合初学matlab gui的道友
  • MATLAB GUI界面设计在电机故障诊断中的应用.pdf
  • IIR数字滤波器 Matlab GUI界面设计
  • 基于MATLAB gui 界面数字图像处理系统,包含去噪、增强、FFT、小波变换等数十种基本功能,还包括人脸检测,图像滤镜处理等功能
  • 图像融合-区域能力融合 基于Matlab GUI界面设计
  • 说话人识别的基于MATLAB GUI界面制作,程序已经经过验证可以实现,里面包含了语音识别的文件库,也可以自己建立文件库进行语音识别,主要用了DTW和VQ的说话人识别。
  • 基于双燃料发动机排放算法的MATLAB GUI界面设计.pdf
  • 基于双燃料发动机排放算法的MATLAB GUI界面设计.rar
  • 我所使用的MATLAB版本——MATLAB R2017a MATLAB的GUI的操作其他人写的很清楚了,在此不再赘述。 MATLAB的GUI的基本操作可见:GUI基本操作 这次所设计的钢琴有简单的七个琴键,DO RE ...其中的STRING代表在GUI界面的名字
  • function varargout = jy01(varargin % JY01 M-file for jy01.fig % JY01, by itself, creates a new JY01 or raises the existing % singleton. % % H = JY01 returns the handle to a new JY01 or the handle to
  • 基于MATLAB GUI 界面设计解线性方程组
  • MatlabGUI界面设计

    2011-05-01 17:54:15
    matlab/gui图像处理界面设计及源代码,有相关实力,tools相关文件
  • 1 GUI程序设计 实 验 报 告 所属课程名称 MATLAB编程与应用 实 验 地 点 实 验 日 期 21112 班 级 学 号 姓 名 指导老师 一实验目的 了解GUI程序设计通过GUI程序设计来实现简易计算器了解GUI设计的方法和过程 二实验...
  • 基于MATLABGUI界面设计流程

    千次阅读 2022-04-08 19:09:41
    大三上小学期学习了MATLABGUI界面设计,感觉挺不错的,这里做个总结! 基本流程 1、命令行输入“guide”指令,打开GUI面板,选择“新建GUI”、“Blank GUI” (左侧工具栏含有待添加的元素) 2、添加...

    大三上小学期学习了MATLAB的GUI界面设计,感觉挺不错的,这里做个总结!

    基本流程

    1、命令行输入“guide”指令,打开GUI面板,选择“新建GUI”、“Blank GUI”

    (左侧工具栏含有待添加的元素)

    2、添加所需要的的元素(一般需要普通按钮、静态文本、普通文本、坐标图、单选按钮等)

    3、右键“普通按钮”,选择“查看回调”中的“CALLBACK”,输入对应的MATLAB命令(可以看做编写函数,点击按钮是进行调用)

    (此图仅用于举例,代码不全) 

    4、运行调试

    常用代码

    1、将动态文本(可编辑文本)的值赋予代码中某变量(以变量A为例)

    A = str2num(get(handles.ed1,'string'));

    (代码中“ed1”是可编辑文本的标签,在GUI界面可设置)

    2、确定坐标图

    因为一个GUI中可能设置多个坐标图,所以也需要标签(Tag)确定

    axes(handles.axes1);

    上图中“axes1”是设置的标签

    3、赋予动态文本值

    (这个是方便将计算结果展示出来用的)

    set(handles.ed1,'string',x);
    
    

    ed1是动态文本的标签,x是变量名字,相当于把x这个变量的值显示在动态文本里

    元素介绍

    以动态文本为例

     

     双击后效果如下

    举个栗子

    就拿绘制sin(ax)为例吧

    第一步,用元素构造GUI界面

    第二步,运行

     

     3、参考代码

    function pushbutton4_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton4 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    A = str2num(get(handles.ed1,'string'));
    x = [0:0.01:10];
    y = sin(A.*x);
    set(handles.ed2,'string',max(y));
    axes(handles.axes1);
    plot(x,y);

    欢迎大家批评指正!后续随着学习深入会继续更新!

    展开全文
  • Matlab GUI基础,正弦波图..
  • 通过GUI设计的串口将单片机传来的数据发送给MATLAB进行分析。目前实现对数据的绘制和保存。
  • 点击signal_generator.fig即可运行整个程序,代码在matlab R2018b上绝对完美运行,GUI纯小白建议预习再下,如果不会打开GUIDE,百度一下再打开,不要报了bug就说代码不能运行。
  • 基于Matlab的数字图像gui界面设计

    千次阅读 2022-04-01 20:10:22
    基于Matlab的数字图像gui界面设计 利用Matlab设计了一个图像处理的GUI界面,包括了各种图像处理功能。 一、使用步骤 1.界面设计 在界面设计方面,设有引导界面、教学界面和实验界面。教学界面在上下方设置Text控件,...

    基于Matlab的数字图像gui界面设计

    利用Matlab设计了一个图像处理的GUI界面,包括了各种图像处理功能。

    一、使用步骤

    1.界面设计

    在界面设计方面,设有引导界面、教学界面和实验界面。教学界面在上下方设置Text控件,提供文字讲解。实验界面分为7个子系统,每个系统共同设有两个坐标轴、退出系统、返回系统组件外,二值化、图像变换界面采用Pushbutton选择功能,边缘检测、灰度化设有Radiobutton对算法进行选择,图像增强采用Radiobutton、Checkbox、Edit、Uibuttongroup控件,分别实现滤波器选择、添加噪声、滤波器参数设定、功能分类功能。在这里插入图片描述

    2.功能设计

    在功能设计方面,二值化采用graythresh函数设置Otsu法,并获取人工阈值进行二值化分割;灰度化编写具体函数进行平均值法、最大值法、加权平均值法操作;边缘检测采用edge函数设有Roberts、Sobel、Prewitt、Canny、Log算子进行边缘检测;图像变换设有旋转、平移、缩放、镜像操作;图像增强采用imnoise函数自设添加乘性、椒盐、高斯、随机噪声,并设置中值、均值、高斯、同态、高低通滤波处理;形态学处理利用工具箱设置了膨胀、腐蚀、开运算、闭运算;采用imhist和histeq实现显示直方图和直方图均衡功能。

    在这里插入图片描述

    3.界面详设

    3.1实验界面设计为7个子系统,7个子系统都可以与实验界面主系统联通,每个子系统的布局又各具特点。实验界面被分为7个子系统,是为了更好地演示每种图像处理方式对于图像的处理效果,同时分为多个子系统能够让功能更加丰富化,处理参数更加细致。下面将详细介绍每个子系统的页面布局。

    3.2图像二值化处理界面采用简单的按钮操作,中央为两个坐标轴,分别展示处理前后的图像,框头是系统名称。分为otsu法和人工阈值法对图像进行二值化处理,人工阈值法另设提示窗口,编写回调函数对阈值进行控制,输入阈值进行二值化。除了主要功能按钮,另外的读取图片,返回系统,保存图片,退出系统为所有子界面所共用功能,所有子界面均设有。
    3.3图像灰度化界面和边缘检测界面设计如图所示,由于灰度化处理和边缘检测有多种处理方式,并且每种方式之间各具特点,同时处理的效果并不好,故该两个界面设计为多个单选按钮(radiobutton),对处理的方案进行单项选择,并且使用按钮组(uibuttongroup)将单选按钮框在一起,附上按钮组名称,更加便于操作与理解使用,同时也使整个界面更加整体、美观。

    边缘检测
    3.4形态学处理界面和图像变换处理界面都采用8个按钮对系统进行操作,中央为两个坐标轴,分别展示处理前后的图像,框头是系统名称。除了主要功能,形态学界面另设膨胀、腐蚀、开运算、闭运算按钮;图像变换界面另设旋转、缩放、平移、镜像按钮。
    在这里插入图片描述
    在这里插入图片描述
    3.5为了满足图像增强处理的多样化功能,并且考虑到一般的图片处理效果不明显,故在左侧按钮组设有多选按钮,分别为高斯噪声、椒盐噪声、乘性噪声、随机噪声,右侧按钮组设6个单选按钮,分别为中值滤波器、均值滤波器、高斯滤波器、同态滤波器、低通滤波器、高斯滤波器,并且设置了两个可编辑文本,编写回调函数,对滤波器的模板大小进行选择,下边的可编辑文件对sigma的值进行选择,最后通过按钮组上方的按键进行添加噪声和滤波操作。
    在这里插入图片描述

    在这里插入图片描述

    总结

    以上就是我设计的基于Matlab的数字图像gui界面设计的内容,多界面系统联合使用使得该GUI界面具有功能性强、界面简洁美观、用户体验性好等特点。
    有需要的小伙伴百度网盘自取,如过期私信我,也希望大家能够多多指正批评。
    链接:https://pan.baidu.com/s/1GrQ30BKh-lmL6xBiHaEncA
    提取码:

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,935
精华内容 3,574
关键字:

matlabgui界面设计

matlab 订阅