精华内容
下载资源
问答
  • MATLAB小项目,使用鼠标写数字,可以识别出来
  • matlab gui 小项目总结

    2021-02-25 20:01:24
    matlab gui 小项目总结 最近使用matlab gui 完成了一个显示界面的功能,该功能主要是配合TI 8643 芯片的行人监控demo来显示检测到的目标并实时显示摄像头采集到的图像这一功能。 matlab版本 : R2017b ccs版本 : ...

    matlab gui 小项目总结

    最近使用matlab gui 完成了一个显示界面的功能,该功能主要是配合TI 8643 芯片的行人监控demo来显示检测到的目标并实时显示摄像头采集到的图像这一功能。

    matlab版本 : R2017b
    ccs版本 : ccs8.2
    sdk库版本 : mmwave_sdk_03_05_00_04
    ti历程版本:mmwave_industrial_toolbox_4_5_1__win
    行人检测工程路径:mmwave_industrial_toolbox_4_5_1\labs\people_counting\overhead_3d_people_counting

    其实在路径mmwave_industrial_toolbox_4_5_1\labs\people_counting\overhead_3d_people_counting\gui下TI自己提供了官方的界面,如下所示:
    在这里插入图片描述
    //-------------------------------------------------------------分割线 -----------------------------------------------------------------------------------------------------------//
    1、GUI界面布局设计
    使用matlab GUI 搭建图形界面窗口,如下所示:
    在这里插入图片描述其中使用到的主要GUI控件有:
    axes控件 : 用于绘制目标轨迹
    popupmenu控件:用于串口选择
    listbox控件:用于显示目标信息
    控件的使用此处不详细描述

    2、编写回调函数
    在使用matlab GUI设计上位机时,界面控件设计完成后运行,会自动生成回调文件;如下
    在这里插入图片描述
    UESTC_mmRadar.fig为控件文件,此文件中包含了所有的使用的控件信息
    UESTC_mmRadar.m为回调函数文件,此文件中包含了创建GUI的初始化和回调函数合集

    功能的实现和显示主要是在UESTC_mmRadar.m文件中编写。

    2.1 回调函数中的基本结构和部分语法说明

    2.1.1 创建GUI初始化部分代码
    function varargout = UESTC_mmRadar(varargin)
    gui_Singleton = 1;
    gui_State = struct(‘gui_Name’, mfilename, …
    ‘gui_Singleton’, gui_Singleton, …
    ‘gui_OpeningFcn’, @UESTC_mmRadar_OpeningFcn, …
    ‘gui_OutputFcn’, @UESTC_mmRadar_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 untitled is made visible.
    function UESTC_mmRadar_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.output = hObject;
    guidata(hObject, handles);

    % — Outputs from this function are returned to the command line.
    function varargout = UESTC_mmRadar_OutputFcn(hObject, eventdata, handles)
    varargout{1} = handles.output;

    以上部分代码为回调函数的顶头部分,包含了
    UESTC_mmRadar();UESTC_mmRadar_OpeningFcn();UESTC_mmRadar_OutputFcn();三个函数,此三个函数在创建GUI界面时按照循序一次运行,主要用于初始化控件,并将GUI显示出来。在UESTC_mmRadar_OpeningFcn()函数中可以先初始化自己的参数。

    2.1.2 回调函数代码
    此处使用“打开摄像头”功能来说明回调函数代码
    % — Executes on button press in radiobutton12.
    function radiobutton12_Callback(hObject, eventdata, handles)

    if(get(handles.radiobutton12,‘Value’) == 1)

        %创建视频显示窗口
        vid = videoinput('winvideo', 2 , 'YUY2_640x480');%, 'YUY2_320x240'
        set(vid,'ReturnedColorSpace','rgb');
        vidRes=get(vid,'VideoResolution');
        width=vidRes(1);
        height=vidRes(2);
        nBands=get(vid,'NumberOfBands');
        figure('Name', '摄像头', 'NumberTitle', 'Off', 'ToolBar', 'None', 'MenuBar', 'None');
        hImage=image(zeros(vidRes(2),vidRes(1),nBands));
        preview(vid,hImage);
    

    end

    radiobutton12为radiobutton控件的编号,在GUI上点击radiobutton12控件,GUI便会自动跳转到高回调函数中。

    hObject 是指向当前控件的句柄,在回调函数中,可以通过hObject来访问和操作控件的信息。下图为该句柄在workspace对应的值,它包含了该控件的所有属性。
    在这里插入图片描述handles变量则是包含了GUI中所有涉及到的控件的标号,并且每一个回调函数都有handles的参数,所以在每一个回调函数中,都可以使用handles变量访问和改变任意的控件:
    在这里插入图片描述想要实现摄像头显示功能,需要安装摄像头的硬件支持包,名称如下所示:一个是DCMA;另外一个是OS Generic
    在这里插入图片描述
    3、生成EXE可执行文件
    要想生成exe同样首先需要安装MinGw-64的支持包,具体安装方案很容易,自行百度

    考虑到在生成的exe中需要将硬件支持包中也要生成到exe中。所以使用matlab的工具来生成,
    在这里插入图片描述在matlab的APP栏中选择Application Complier;界面如上所示,首先在”Add mian file“,将回调函数添加在此处;在File required for your application to run中添加fig文件,如下
    在这里插入图片描述选择正确文件后,工具会自动识别需要包含的硬件支持包,在直接点击Packge即可生成可应用文件。

    最后呈现的效果为:
    在这里插入图片描述

    4、总结

    使用matlab GUI生成的exe文件,运行速度较慢,加载速度也是比较慢的,对于处理稍微多一些的应用,不建议使用matlab来编写GUI
    工程源码参考链接:https://download.csdn.net/download/taiyangshenniao/15485428

    展开全文
  • Matlab的助手 对Matlab项目有帮助的功能
  • Matlab脚本和小型项目的集合 毫升 机器学习简介; 编码激活函数,层和点分类示例 pp 使用局部和比例局部旋转计算LU分解并求解线性系统的函数集合。 插补 计算切比雪夫点间距以内插函数的函数和脚本
  • 使用MATLAB GUI 设计工具开发小项目

    千次阅读 多人点赞 2020-11-09 21:07:57
    使用MATLAB GUI 设计工具开发小项目 由于学校招聘处办公软件急需更新换代,有人找到了我,希望可以帮助学校做一个管理系统,便于对学校招聘信息的管理。我最近正在学习MATLAB,所以我打算用MATLAB自带的app设计工具...

    使用MATLAB GUI 设计工具开发小项目

    由于学校招聘处办公软件急需更新换代,有人找到了我,希望可以帮助学校做一个管理系统,便于对学校招聘信息的管理。我最近正在学习MATLAB,所以我打算用MATLAB自带的app设计工具来完成这次工作,以下是详细设计思路。

    学校对软件提出的要求

    1,软件应能实现对数据的存储,查询,修改
    2,软件应实现模糊搜索与精度搜索,并返回相应结果
    3,软件应实现联网功能,即PC1对数据的修改结果应及时被PC2查询到

    我看到要求后的感受

    QAQ没给资金还那么多要求。。。
    由于要求中需要实现联网功能,但是又没有购买云服务器和云数据库的资金,所以我准备使用onedrive来做。OneDrive同一账号可以登录五台PC,将OneDrive目录文件放在同一路径,软件将用户输入信息以txt文本形式存储到OneDrive文件中,这样即使不同的PC机也可以读取到任一PC存入或者修改的数据了,我是不是很聪明哈哈哈。
    模糊搜索与精度搜索真的是费了我很长时间的思考,按照第一步的思路,我存储文件的形式应该是txt文本,而不是数据库,那么光靠txt文本怎么实现模糊查询呢?在解决这个问题之前,我确实动摇过第一步的想法,转向去考虑云数据库,对于SQL语句我真的很熟悉,但经过一段时间无果的尝试后,我突然想到,数据库极力避免的是数据冗余,那么如果我人为去创造冗余数据,是不是就会实现模糊搜索呢?
    我是用这种方法解决这个问题的,当用户存储信息时,会根据用户输入的特征依次创建五个txt文件,分别对应不同程度的检索项,如创立 A公司, A联系人,A时间A公司,A时间A联系人,A时间五个文件,当用户输入最小项信息时 A时间 A公司 A联系人时,软件会将信息依次写入以下五个文件,当用户再次输入不同信息时,如A时间 B公司 B联系人,软件会将该信息写入A时间文件,以及B联系人,A时间B公司,A时间B联系人,这样当查询A时间时,就会查询出两个公司的信息,查询A时间A联系人时,就会查询出A公司的信息。

    前端UI界面的设计

    使用app设计工具,将控件直接拖进去就可以,这里主要考验耐心和创意,这是我设计的界面

    在这里插入图片描述

    选择按钮的后端设计

    由于控件按钮1,2,3不能同时按下,所以应在内部逻辑加以设定

        function Button_3ValueChanged(app, event)
                app.value1 = app.Button_3.Value;             %二楼平台按钮
                if(app.value1==1)
                    app.Button_2.Value=0;
                    app.Button.Value=0;
                    app.ListBox.Items = {'上午','下午'};
                    app.ListBox.Value = '上午';
                end
            end
    
            % Value changed function: Button_2
            function Button_2ValueChanged(app, event)
                app.value2 = app.Button_2.Value;             %多功能厅按钮
                if(app.value2==1)
                    app.Button_3.Value=0;
                    app.Button.Value=0;
                    app.ListBox.Items = {'上午8点半-上午10点', '上午10点半-中午12点', '下午1点半-下午3点', '下午3点半-下午5点', '晚上6点-晚上8点'};
                    app.ListBox.Value = '上午8点半-上午10点';
                end
            end
    
            % Value changed function: Button
            function ButtonValueChanged(app, event)
                app.value3 = app.Button.Value;                %第四会议室按钮
                if(app.value3==1)
                    app.Button_2.Value=0;
                    app.Button_3.Value=0;
                    app.ListBox.Items = {'上午8点半-上午10点', '上午10点半-中午12点', '下午1点半-下午3点', '下午3点半-下午5点', '晚上6点-晚上8点'};
                    app.ListBox.Value = '上午8点半-上午10点';
                end
            end
    
    

    字符输入框的后端设计

      % Value changed function: TextArea
            function TextAreaValueChanged(app, event)
                app.value11 = app.TextArea.Value;                   %单位名称输入框
                
            end
    
            % Value changed function: TextArea_2
            function TextArea_2ValueChanged(app, event)
                app.value12 = app.TextArea_2.Value;                  %单位联系人输入框
                
            end
    
            % Value changed function: TextArea_3
            function TextArea_3ValueChanged(app, event)
                app.value13 = app.TextArea_3.Value;                  %联系电话输入框
                
            end
    
            % Value changed function: TextArea_4
            function TextArea_4ValueChanged(app, event)
                app.value14 = app.TextArea_4.Value;                  %区域负责人输入框
                
            end
    
            % Value changed function: TextArea_5
            function TextArea_5ValueChanged(app, event)
                app.value15 = app.TextArea_5.Value;                   %信息发布输入框
                
            end
    
            % Value changed function: TextArea_6
            function TextArea_6ValueChanged(app, event)
                app.value16 = app.TextArea_6.Value;                   %学生助理输入框
                
            end
    
    

    !!数据写入按钮的设计

    按下提交按钮应自动将输入框的信息,以选择框,时间选择器的值命名写入txt文件中
    由于招聘地点一个时间段只能有一个公司占用,所以应该加上异常处理

     % Button pushed function: Button_5
            function Button_5Pushed(app, event)
            abc5='.txt';
            jk="1";
            hhh5='D:\OneDrive - Microsoft 365\yun\';
            if(app.Button_3.Value==1)
                jk="二楼平台";
            end
            if(app.Button_2.Value==1)
                jk="多功能厅";
            end
            if(app.Button.Value==1)
                jk="第四会议室";
            end
            if(app.Button_3.Value==0&&app.Button_2.Value==0&&app.Button.Value==0)
                msgbox('请选择招聘地点!','提示','help');
            end
            if(jk~="1")
            yyy=strcat(app.DateString,app.ListBox.Value);
            yu=strcat(yyy,jk);
            stre3=strcat(yu,abc5);
            app.test=strcat(hhh5,stre3);
            fid=fopen(app.test,'a+');
            fseek(fid,0,'eof');
            fsize = ftell(fid);
            fclose(fid);
            
            if(fsize==0)
            abc='.txt';                                                        %提交按钮
            hhh='D:\OneDrive - Microsoft 365\yun\';
            stre=strcat(app.DateString,abc);
            stre1=strcat(hhh,stre);
            
            app.lla1=string(app.value11);
            app.lla2=string(app.value12);
            app.lla3=string(app.value13);
            app.lla4=string(app.value14);
            app.lla5=string(app.value15);
            app.lla6=string(app.value16);
            
            fid=fopen(stre1,'a+');
            fprintf(fid,'%s\n',app.lla1);
             fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
            fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);                                                           
            
            abc2='.txt';
            hhh2='D:\OneDrive - Microsoft 365\yun\';
            stre2=strcat(app.lla1,abc2);
            stre22=strcat(hhh2,stre2);
            fid=fopen(stre22,'a+');
            fprintf(fid,'%s\n',app.lla1);
              fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc3='.txt';
            hhh3='D:\OneDrive - Microsoft 365\yun\';
            stre3=strcat(app.lla4,abc3);
            stre33=strcat(hhh3,stre3);
            fid=fopen(stre33,'a+');
            fprintf(fid,'%s\n',app.lla1);
              fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc3='.txt';
            hhh3='D:\OneDrive - Microsoft 365\yun\';
            sk=strcat(app.DateString,app.lla1);
            stre3=strcat(sk,abc3);
            stre33=strcat(hhh3,stre3);
            fid=fopen(stre33,'a+');
            fprintf(fid,'%s\n',app.lla1);
              fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc3='.txt';
            hhh3='D:\OneDrive - Microsoft 365\yun\';
            sk1=strcat(app.DateString,app.lla4);
            stre3=strcat(sk1,abc3);
            stre33=strcat(hhh3,stre3);
            fid=fopen(stre33,'a+');
             fprintf(fid,'%s\n',app.lla1);
               fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc3='.txt';
            hhh3='D:\OneDrive - Microsoft 365\yun\';
            sk1=strcat(app.DateString,app.lla1);
            sk66=strcat(sk1,app.lla4);
            stre3=strcat(sk66,abc3);
            stre33=strcat(hhh3,stre3);
            fid=fopen(stre33,'a+');
             fprintf(fid,'%s\n',app.lla1);
               fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc3='.txt';
            hhh3='D:\OneDrive - Microsoft 365\yun\';
            sk1=strcat(app.lla1,app.lla4);
            stre3=strcat(sk1,abc3);
            stre33=strcat(hhh3,stre3);
            fid=fopen(stre33,'a+');
             fprintf(fid,'%s\n',app.lla1);
               fprintf(fid,'%s',"写入日期:");
              fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
             fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            abc5='.txt';
            hhh5='D:\OneDrive - Microsoft 365\yun\';
            yyy=strcat(app.DateString,app.ListBox.Value);
            yu=strcat(yyy,jk);
            stre3=strcat(yu,abc5);
            app.test=strcat(hhh5,stre3);
            fid=fopen(app.test,'a+');
           fprintf(fid,'%s\n',app.lla1);
           fprintf(fid,'%s',"写入日期:");
           fprintf(fid,'%s\n',datestr(now));
            fprintf(fid,'%s',"招聘时间:");
            fprintf(fid,'%s',app.DateString);
            fprintf(fid,'%s'," ");
            fprintf(fid,'%s\n',app.ListBox.Value);
            fprintf(fid,'%s',"招聘地点:");
            fprintf(fid,'%s\n',jk);
            fprintf(fid,'%s',"单位名称:");
            fprintf(fid,'%s\n',app.lla1);
            fprintf(fid,'%s',"单位联系人:");
            fprintf(fid,'%s\n',app.lla2);
            fprintf(fid,'%s',"联系电话:");
            fprintf(fid,'%s\n',app.lla3);
            fprintf(fid,'%s',"区域负责人:");
            fprintf(fid,'%s\n',app.lla4);
            fprintf(fid,'%s',"信息发布:");
            fprintf(fid,'%s\n',app.lla5);
            fprintf(fid,'%s',"学生助理:");
            fprintf(fid,'%s\n\n',app.lla6);
            fclose(fid);  
            
            msgbox('提交成功','提示','help');
            end
            if(fsize~=0)
                msgbox('创建失败,该时间已有公司占用','提示','help');
            end
            end
            end
    

    查询按钮的设计

    由于软件要求检索项不一定全部写入,所以我将所有的检索输入框的初始值设为空,并按照顺序读取txt文件名,第一输入项为时间,如果只想以时间查询,则其余输入框为空,检索以输入时间为名的txt文件内容,如果想查询某一公司的招聘情况,则输入公司名称,其余为空,则检索以公司名为文件名的txt文件内容,依次类推

      % Button pushed function: Button_4
            function Button_4Pushed(app, event)
            abc1='.txt';                                                        %查询按钮
            st='D:\OneDrive - Microsoft 365\yun\';
            kll=strcat(app.DropDown.Value,app.DropDown_2.Value);
         %   app.valuet2 = app.DatePicker.Value;                                 %信息查询时间选择器
           % app.DateString1 = datestr(app.valuet2);
            jkk=strcat(app.DateString1 ,kll);
            y=strcat(jkk,string(app.TextArea_8.Value));
            yy=strcat(y,string(app.TextArea_9.Value));
            stre=strcat(yy,abc1);
            stre1=strcat(st,stre);
            fid=fopen(stre1,'a+');
            fseek(fid,0,'eof');
            fsize = ftell(fid);
            %fclose(fid);
            disp("hhh:");
            disp(stre1);
            if((app.DropDown.Value~=""&&app.DropDown_2.Value~=""&&app.TextArea_8.Value~="")||(app.DropDown.Value~=""&&app.DropDown_2.Value~=""&&app.TextArea_9.Value~=""))
                msgbox('查询方式错误,在精度查询时请不要输入单位名称或负责人','提示','help');
            else
            if(fsize==0)
                msgbox('暂未查询到公司信息!','提示','help');
                 app.TextArea_7.Value='';
            end
            if(fsize~=0)
            filename = stre1;
            A = fileread(filename);
            app.TextArea_7.Value = A;
            fclose(fid);
            app.TextArea_8.Value='';
            app.TextArea_9.Value='';
            %app.DatePicker_2.Value="";
            msgbox('查询成功!','提示','help');
            end
            end
            end
    

    修改按钮的设计

    修改的难点在于,根据一个文件的内容从而改变其他文件的内容,由于我设置了五个文件,那么修改时问题也就来了,需要修改五个文件

            % Button pushed function: Button_6
            function Button_6Pushed(app, event)
            abc1='.txt';                                                        
            st='D:\OneDrive - Microsoft 365\yun\';
            kll=strcat(app.DropDown.Value,app.DropDown_2.Value);
            jkk=strcat(app.DateString1,kll);
            y=strcat(jkk,string(app.TextArea_8.Value));
            yy=strcat(y,string(app.TextArea_9.Value));
            stre=strcat(yy,abc1);
            stre1=strcat(st,stre);
            fid=fopen(stre1);
            A = fgetl(fid);
            fclose(fid);
            fid=fopen(stre1,'w');
            %fid=fopen(stre1,'a+');
            fprintf(fid,'%s',"修改日期:");
           % disp(datatime('now'));
              fprintf(fid,'%s\n', datestr(now));
            fprintf(fid,'%s\n',string(app.TextArea_7.Value));
            disp(A);
            opl=strcat(A,abc1);
            klo=strcat(st,opl);
            fid1=fopen(klo,'a+');
            disp(klo);
            fprintf(fid1,'%s',"修改日期:");
            fprintf(fid1,'%s\n',datestr(now));
            fprintf(fid1,'%s\n',string(app.TextArea_7.Value));
            jkii=strcat(app.DateString1,abc1);
            hjkl=strcat(st,jkii);
            fid2=fopen(hjkl,'a+');
             fprintf(fid2,'%s',"修改日期:");
              fprintf(fid2,'%s\n',datestr(now));
            fprintf(fid2,'%s\n',string(app.TextArea_7.Value));
            fclose(fid);
            fclose(fid1);
            fclose(fid2);
            msgbox('修改成功','提示','help');
            end
    

    (开心时刻)播放音乐按钮设计

     function Menu_5Selected(app, event)
                [y, Fs] = audioread('D:\OneDrive - Microsoft 365\sound\G.E.M. 邓紫棋 - 泡沫.mp3');
                sound(y,Fs);
            end
    

    访问外部网页按钮设计

      function Menu_3Selected(app, event)
                url = 'https://www.baidu.com/';
                web(url,'-browser');
            end
    
    

    刷新按钮的设计

      % Menu selected function: Menu
            function MenuSelected2(app, event)
                 app.DatePicker = uidatepicker(app.AierstomUIFigure);
                app.DatePicker.ValueChangedFcn = createCallbackFcn(app, @DatePickerValueChanged, true);
                app.DatePicker.Position = [773 521 193 22];
                app.DropDown_2.Value='';
                app.DropDown.Value='';
                app.DatePicker_2 = uidatepicker(app.AierstomUIFigure);
                app.DatePicker_2.ValueChangedFcn = createCallbackFcn(app, @DatePicker_2ValueChanged, true);
                app.DatePicker_2.Position = [124 316 155 22];
                app.TextArea.Value='';
                 app.TextArea_2.Value='';
                 app.TextArea_3.Value='';
                 app.TextArea_4.Value='';
                 app.TextArea_5.Value='';
                 app.TextArea_6.Value='';
                 app.TextArea_8.Value='';
                 app.TextArea_9.Value='';
                 app.DateString1='';
            end
    
    

    小结

    如果真的有人认真看完了,那我真的很感动,你是跟我一样有毅力的人,爱你三千遍,我会努力推出更好的文章,感谢支持。想要源码的童鞋可以留言,我会认真帮你配置的哦。

    展开全文
  • matlab开发-A项目代码

    2019-08-27 14:10:52
    matlab开发-A项目代码。我开发了一个主要使用IPT工具箱的小项目。我提供给其他人参考
  • MATLAB小操作

    2019-03-14 22:33:02
    这个是参与研究生的左心分割项目,我所做的一些代码。这个项目目的就是为了自动识别左心轮廓,这个代码的作用就是将深度学习产生的预测以图片形式保存下来,然后人工修改预测不好的部分,作为标签,再用来产生模型。...

          这个是参与研究生的左心分割项目,我所做的一些代码。这个项目目的就是为了自动识别左心轮廓,这个代码的作用就是将深度学习产生的预测以图片形式保存下来,然后人工修改预测不好的部分,作为标签,再用来产生模型。预测新的轮廓。

    言归正传,以下是功能实现:

    %有内外两轮廓以及原图,方法是把内外两轮廓覆盖到原图上,
    clc;close all;clear;
    path='F:\show_counter\matfile';
    path=strrep(path,'\','/');
    GEColormap=loadGEColormap();
    B=cell(1,8);
    
    
    
    %% show both
    
    for i=1:8       %心肌灌注成像,每个病人又分为8个gate
        for s=0:9    %每个gate又有10个slice
        % get pred contour : ML contour  外
        Seg_name=sprintf('epi/Patient002481_data_0%d_pred_0%d.mat',i,s);
         %sprintf 拼接路径
        workpath=fullfile(path,Seg_name);
        load(workpath); 
        BW=bwboundaries(pred);
        B{i}=BW{:}(:,:);
        contour_path1=zeros(32,32); 
        iter=size(B{i},1);
        for j=1:iter
            contour_path1(B{i}(j,1),B{i}(j,2))=1;%contour_path1为DL产生的外轮廓
        end
        
        %内
        Seg_name=sprintf('endo/Patient002481_data_0%d_pred_0%d.mat',i,s);
        workpath=fullfile(path,Seg_name);
        load(workpath); 
        BW=bwboundaries(pred);
        B{i}=BW{:}(:,:);
        contour_path2=zeros(32,32);
        iter=size(B{i},1);
        for j=1:iter
            contour_path2(B{i}(j,1),B{i}(j,2))=1;
        end
        
        % get original image
        Im_name=sprintf('epi/Patient002481_data_0%d_img_0%d.mat',i,s);
        workpath=fullfile(path,Im_name);
        load(workpath);    
        process_img=img.*(1-contour_path1);
        ones=find(contour_path2==1);
        process_img(ones)=0;
        figure(i);
        %subplot();
        save_path=sprintf('test%d.png',s); 
        saveas(gca,save_path);             %保存图片
        R_process_img=rot90(process_img,1);
        imagesc(R_process_img);
        colormap(GEColormap);
        axis off;

     

    展开全文
  • Matlab小技巧

    2019-03-17 20:31:39
    不用每次打开项目,都要右键里面的文件夹,添加到路径;同时方便归类整理,同一功能的diamagnetic可以用一个文件夹保存 把下述代码添加进去 addpath(genpath(pwd)) %把当前文件夹里的子文件夹添加到路径 ...

    同文件下的文件夹可以在当前路径下

    不用每次打开项目,都要右键里面的文件夹,添加到路径;同时方便归类整理,同一功能的diamagnetic可以用一个文件夹保存

     把下述代码添加进去

      addpath(genpath(pwd))   %把当前文件夹里的子文件夹添加到路径

     

    展开全文
  • 本篇博客记录自己复现项目和课程设计中遇到的matlab报错,前人填坑,后人飙车~ 函数使用问题 ’mat2gray’ 需要 Image Processing Toolbox 解决指路 注意事项: (1)官网直接下载到 MATLAB\toolbox时,如果原先...
  • Data Preprocessing clc;clear all; %% Data Extraction readFilename='Diagnostic Data of Tuberculous Pleural Effusion.xlsx'; writeFilename='Data Mining Results of Diagnostic Data of Tuberculous Pleura...
  • 2021Matlab项目课题推荐

    2020-10-26 14:02:37
    时间转眼即逝,过的非常的快,新一轮的学生设计课题选题默默的已经开始了,编不才,这也向大家推荐几个往年比较容易理解并且性价比比较高的课题。一:matlab的烟雾火焰火灾识别系统,可读取视频或者图象,检测出...
  • 五课时精通matlab小波分析 图像和算法等领域有多年研究和项目经验;指导...
  • 带你入门matlab小波分析 图像和算法等领域有多年研究和项目经验;指导发表...
  • matlab小波图像处理技术专题 图像和算法等领域有多年研究和项目经验;指导...
  • 小点滴——Matlab小

    2015-08-01 11:10:07
    我已经熟悉基本界面和普通操作,并能编写简单的,计划首先对matlab各个学科方向的功能基本了解一下,然后选取方向根据案例操作逐步学习,最后熟练运用于真实项目中。 包含600多个工程中要用到的数学运算函数,...
  • 三十三课时零基础精通matlab小波分析 图像和算法等领域有多年研究和项目经...
  • 原因是MFC调用完matlab后返回了一个全实数的矩阵,我使用mwArray的复数对象存放,然后提取其中的虚部。个人认为:无法提取全实数矩阵的虚数部分。 解决方法:在提取虚部时先判断这个矩阵对象是否为复数,代码如下: ...
  • 数字图像处理:基于MATLAB的车牌识别项目

    万次阅读 多人点赞 2017-06-24 09:17:09
    学过了数字图像处理,就进行一个综合性强的小项目来巩固一下知识吧。前阵子编写调试了一套基于MATLAB的车牌识别的项目的代码。今天又重新改进了一下代码,识别的效果好一点了,也精简了一些代码。这里没有使用神经...
  • 本文跳过枯燥乏味的算法推导过程,循序渐进的介绍支持向量机分类原理,并通过四个小项目快速的理解支持向量机的线性分类,非线性分类和参数调参过程。文末附代码和数据下载方法,可直接运行1.最大间隔分类器最大...
  • 尝试使用GetDlgItem(IDC...当我要实现的顺序是:变-->变大or变小时,会出现如下问题:变的static可以变大,但里面的图只用一部分,很奇怪。 现在使用笨办法:两个static完成操作,图用static,大图用大的static
  • 下面就跟大家推荐几个新颖有创意的创业项目小程序。1.一起画电影随便画一画,这个程序就可以智能生成一张包含了你的笔迹的经典电影海报,顺便还附带了海报中流传广的台词。你可以把生成的图片分享给好友,或者用来...
  • ECE-131A--概率与统计--Matlab项目 这是最终的Matlab项目,其中包含4个模拟某些概率概念及其应用的问题。 完整的代码很长,因此我仅分享问题2的一部分,在该问题中,我使用N个奇偶校验代码模拟了BEC信道。 N-单...
  • 最近会发一些的零散的文章,为自己的寒假的项目做准备 #coding=utf-8 importmatplotlib.pyplot as plt fig=plt.figure("hello") #设置标题栏 fig.suptitle("bold figure suptitle",fontsize=12,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 424
精华内容 169
关键字:

matlab小项目

matlab 订阅