⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab-gui-programming

📁 MATLAB GUI编程中几个有用的程序段
💻
字号:
昨天找其他资料看到的,尽管简单,觉得不错,分享给各位
不好意思没记下网址,对该内容总结者表示感谢



MATLAB GUI编程中几个有用的程序段


1、  启动


% 获取当前文件所在路径


currPath = fileparts(mfilename('fullpath'));


% 切换工作路径到当前位置





cd(currPath);





% 判断所用操作系统


if computer == 'PCWIN'


    % MATLAB版本号


    v = version;


    if v(1)~='7'        


        warndlg ('Only run in matlab 7.x(R14.x)');


        return


else


        % 添加当前路径下的所有子目录


        addpath(genpath(pwd));


        addpath(genpath(currPath));


    end


end








2、  在GUI中使用Axes控件





% 1.删除所有画线及对应图例


% 查找Axes控件中的画线


sameLines = findobj('type','line');


% 逐一删除这些画线


    for i = 1 :length(sameLines)


        delete(sameLines(i))


end


% 获取Axes控件中的图例(由于画线全部被删除,因此为空)


lgStr = get(legend(handles.ResultsAxes), 'String');


% 重新设置图例(为空)


    legend(handles.ResultsAxes,lgStr); 





% 2.添加画线


% 获取原来的图例


lgStr = get(handles.hLegend, 'String');


% 设置下一个画线为添加方式


set(handles.ResultsAxes, 'Nextplot', 'add');


% 指定要画线的Axes


axes(handles.ResultsAxes);


% 画线


plot(distance_target, '-r')


% 添加图例


handles.hLegend = legend(handles.ResultsAxes, lgStr,'目标距离');





% 3.删除某一画线


% 所删除画线对应的数据为distance_target,获取它的句柄


sameLines = findobj('type','line','YData', distance_target);


% 删除画线


    if ~isempty(sameLines)


        delete(sameLines);


end


% 获取原有的图例


lgStr = get(legend(handles.ResultsAxes), 'String');                    


% 从原有图例中删除对应图例


    legend(handles.ResultsAxes, setdiff(lgStr, {'目标距离'}));





3、  在GUI中使用Excel表格(Activex控件Microsoft Office Spreedsheet)


% 获取现在使用的spreedsheet的句柄


ActiveSheet = get(handles.activex1,'ActiveSheet');


   % 现在使用的spreedsheet的现在使用工作薄


   ActiveWorkbook = get(handles.activex1,'ActiveWorkbook');            


   % 现在使用的表


eSheets = handles.activex1.ActiveWorkbook.Sheets;


   % 使用表的第一个子表


   eSheet1 = eSheets.get('Item', 1);


   % 激活该表


   eSheet1.Activate;


% 获取当前单元格的句柄


ActiveCell = get(handles.activex1, 'ActiveCell');


% 选择坐标为A1的单元格


Select(Range(ActiveSheet,'A1'));


% 获取当前单元格的句柄


ActiveCell = get(handles.activex1, 'ActiveCell');


% 设置当前单元格中的内容


    set(ActiveCell, 'Value', '仿真结果报告');  





4、  为Axes控件设置图片


% 所有设置的Axes控件


axes(handles.MyLog);


% 读取图片数据


Image_tip1=imread('Setting/mylog.jpg');


% 显示图片


image(Image_tip1);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -