matlab gui 设计总结_matlabgui总结

2020-02-27 其他工作总结 下载本文

matlab gui 设计总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlabgui总结”。

1. 7以上版本的matlab,控件pushbutton背景颜色修改以后并没有什么明显效果,只是按钮的边缘显示为所设置的背景颜色。2 .凡是在属性对话框Property Inspector中可以设置的属性,都可以在其对应的m文件中使用set(„.)函数来设置

3.每个控件的句柄都可以通过handles.tagname来调用(tagname是所使用的控件的tagname)

4.控件Edit Text不会自动生成Creatfucntion,只有回调函数——callback function 5.控件Static Text也不会自动生成CreatFunction和CallbackFunction,但是可以通过它的句柄handles.tag,对其属性进行修改,例如让其显示一些数字,就可以这么设: set(handles.show,'string',num2str(t));其中handles.show是一个Static Text控件的句柄 6.从控件Edit Text

中读取输入的数据,使用函数: str2num(get(handles.x1_trn,'string')))其中handles.x1_trn是一个Edit Text的句柄

7.若想在界面打开的时候显示一些东西或者执行一些动作,可以将程序写在函数OpeningFcn内。8.关于显示图片,如下例:

A=imread('trn.bmp');%读取图片trn.bmp的信息,存放在A中,此处该图片是与本函数存放在同一根目录下的,若不是,那么需要把图片的完整路径写出来,例如’d:pictrn.bmp’

B=imread('stb.bmp');%读取图片stb.bmp的信息,存放在A中

axes(handles.axes1);%指定显示图片的坐标系,handles.axes1为其句柄imshow(A);%显示图片trn.bmp;axes(handles.axes2);%指定显示图片的坐标系,handles.axes1为其句柄 imshow(B);%显示图片stb.bmp 显示图片还可以用函数image(„),与函数imshow区别在于,image是将图片当作数据来处理的,会显示坐标系,刻度等等,而imshow只是显示图片 9.关于global的用法!Global用来声明变量的通用,有点像C语言中的全局变量,如果要想将变量a声明为global型的,那么在所有定义和使用a的函数中都要声明:global a; 还有就是要使用global变量的函数都必须在同一根目录下。

10.要想在一个m文件中调用另外一个m文件,只需将该文件存放在同一根目录下,然后直接在前一m文件中写下要调用的m文件的名字即可。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 end2、在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);

Matlab程序生成可执行的exe文件

1.设置编译器:

在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:

Mbuild –setup,按提示选择matlab自带编译器LCC。

2.将脚本编译为可执行文件:

如项目文件包含:gui.m, gui.gif, fun1.m。

在 此路径下命令行输入:mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。

3.在未安装matlab的机器上运行可执行程序。

将R22007btoolboxcompilerdeploywin32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。

将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。

4.去除独立可执行程序运行时的“DOS黑窗口”。

以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。

matlba命令行输入: cd(prefdir)edit compopts.bat 此时compopts.bat打开,在文件最后添加: set LINKFLAGS=%LINKFLAGS%-subsystem windows 如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同

Microsoft Visual C/C++: set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup Borland: set LINKFLAGS=%LINKFLAGS%-aa 5.遇到某些函数不能使用的问题。

我的程序中用到vpa函数,运行gui.exe出现:undefined method or function 'vpa' for input argument type of 'double'错误提示。而gui.m脚本在matlab环境可以运行。

原因:百度搜到的信息为:matlab不支持符号工具箱的编译。只好避开使用此函数。

问题描述:在matlab环境下运行完全正常的gui,用“mcc-m filename1.m filename2.m“编译成独立可执行程序后,所有uitable控件无法按要求正常显示数据,显示结果是一个空表格

问题原因:不详(没有仔细读那些帖子,英文看着太累。只求问题解决,不想成为专家,呵呵)

解决办法:

1、编译时将所有自己编写的.m 及.fig文件全部放在同一个文件夹内(假设有filename1.m filename1.fig filename2.m filename3.m filename3.fig),光这些还不够,需要从..toolboxmatlabcodetools文件夹中找到两个文件arrayviewfunc.m和workspacefunc.m,将它们也一并拷过来。找不到可直接在matlab安装目录下搜索。

2、然后用命令”mcc-m filename1.m filename2.m filename3.m-a workspacefunc.m-a arrayviewfunc.m ”进行编译,不需要将.fig文件一起编译。其中filename1是主程序。

3、编译成功,运行一切正常,table完全按要求想显示什么就显示什么,一个字,爽。

一、生成独立可执行的程序(exe文件)步骤

1、安装编译器。可有多种选择,本机安装的是microsoft visual c++ 6.0;

2、设置编译器。在matlab命令行输入mbuild-setup,选择安装的c编译器;

3、调用编译器。输入mcc-m filaname,filaname为要转成exe的m文件;

在以前的版本中,用编译命令mcc-B sglcpp filaname;自2006的版本后,替换为mcc-m filaname;

4、安装MATLAB7toolboxcompilerdeploywin32目录下的MCRInstaller。

二、脱离matlab运行可执行程序

MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:

MATLABR2007atoolboxcompilerdeploywin32 文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中。

在其它机器上运行exe文件前,首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境。

Note: 将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。

另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如 mcc –m main.m –o mrank_main,就是将编译后的文件指定为mrank_main.exe。

uitable(在GUI界面上添加指定属性表格)

用法:

1、uitable(numrows,numcolumns)建立指定行数和列数的表格

2、uitable(data,columnNames)建立指定行名称和数据的的表格

3、uitable(‘PropertyName1’,’Value1,¨¨)建立指定的属性名称和属性值的表格

Ø注意事项:Editable属性须用set命令设置,否则导致表格不可见

属性

功能

Column names

字符串细胞数组来定义窗体的名称 Data

以细胞数组值来定义显示在窗体内的数据内容 GridColor 以颜色值或RGB向量来定义uitable内网格的颜色 NumColumns 以整数来定义窗体的行数 NumRows 以整数来定义窗体的列数 Parent 父窗口的句柄值,如果未定义,自动设为gcf Psition 以四元素的向量定义uitable的位置 ColumnWidth 以整数来定义窗体的行宽 RowHeight 以整数来定义窗体的列高 Editable 以布尔数指定行是否可编辑(默认为1:可编辑)Units 指定单位,有pixels,normalized,inches,points和centimeters5种 Visible 以布尔数指定窗体是否可见(默认为1:可见)DataChangedCallback Callback函数的名称或者该函数的句柄值

相关的 Matlab 命令 :

• 一个正态总体,方差 σ 已知时,均值 μ 的检验,用 Z 检验法,命令为: [h,p,ci]=ztest(x,mu,sigma,alpha,tail)其中输入参数 x 是样本,mu 是H0 中的 μ0,sigma 是总体标准差 σ,alpha 是显著性水平 а(缺省时为 0.05),tail 是备择假设 H1 的选择(H1 为 μ>μ0时 tail=1, H1为 μ≤μ0时 tail=-1, H1为 μ≠μ0时 tail=0(可缺省));输出参数 h=0 表示接受 H0,h=1 表示拒绝H0,p 表示在假设 H0下样本均值出现的概率,ci 是 μ0的置信区间。

• 一个正态总体,方差 σ未知时,均值 μ的检验,用 t 检验法,命令为: [h,p,ci]=ttest(x,mu,alpha,tail)与上面的 ztest 相比,除了不须输入总体标准差 σ外,其余全部一样。• 两个正态总体,方差 σ1,σ

2222

未知时,均值μ1=μ2的检验,用 t 检验法,命令为:

[h,p,ci]=ttest2(x,y,alpha,tail)与上面的 ttest 相比,不同之处在于输入的是两个样本(长度不一定相同),其余全部一样。

matlabGUI图像处理

图像处理一、实习任务 利用MATLAB里面的一些特定函数和GUI可视化图形界面设计一个属于自己的photoshop,使其完成简易的放大、缩小、截图以及直方图统计等功能。二、实习内容......

设计总结

风景园林工程设计乙级 资质证书编号:A244009008 南沙区三姓涌至大角山公园段滨江景观工程设 计 工 作 总 结广州裕林园林绿化设计有限公司 广州 二〇一一年十二月项目负责人:......

设计总结

设计总结一、设计目的培养建筑装饰专业学生对居住空间的装饰设计的综合能力。二、设计的总体目标通过设计使学生针对某项课题,创造性的综合运用所学基本理论和技能,独立完成本......

设计总结

刀豆文库小编为你整合推荐7篇设计总结,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

设计总结

尉犁县西尼尔镇—兴地村农村公路建设工程1公路工程设计工作报告一、项目概况1、任务来源及依据遵照尉犁县交通局的委托,将“尉犁县西尼尔镇—兴地村农村公路建设工程”一阶段......

《matlab gui 设计总结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
matlab gui 设计总结
点击下载文档
相关专题 matlabgui总结 设计 matlab gui matlabgui总结 设计 matlab gui
[其他工作总结]相关推荐
[其他工作总结]热门文章
下载全文