MATLAB GUI图形界面 独立回调函数

合集下载

MATLAB-图形用户界面 GUI

MATLAB-图形用户界面 GUI

第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。

但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。

MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。

这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。

正是出于这种观察,作者将图形用户界面内容列入本教程。

本章由四个精心设计的算例组成。

这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。

本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。

8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。

matlab中gui教程

matlab中gui教程

11 图形用户界面(GUI )制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。

如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。

图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。

用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。

假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。

但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。

MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。

MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。

即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。

为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。

读者只要输入所提供的程序,就可引出相应的界面。

本章第2节叙述图形用户界面的设计原则和一般制作步骤。

第3、4节分别介绍用户菜单、用户控件的制作。

出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。

利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。

MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。

关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。

在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。

11.1 入门【*例11.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。

Matlab中的GUI设计和用户界面开发指南

Matlab中的GUI设计和用户界面开发指南

Matlab中的GUI设计和用户界面开发指南引言在科学计算和数据可视化领域,Matlab是一种经常被使用的高级技术工具。

虽然Matlab主要以命令行界面为特点,但其GUI(Graphical User Interface)设计和用户界面开发方面的功能同样强大。

本文将介绍如何使用Matlab进行GUI设计和用户界面开发,并提供一些实用的指南。

一、GUI设计的重要性GUI设计是一种将复杂的计算方法和数据分析过程以直观的方式呈现给用户的技术。

优秀的GUI设计能够提升用户的工作效率,减少错误的发生,并增强用户对软件的使用体验。

在科学研究和工程应用中,GUI设计的重要性不言而喻。

二、Matlab中的GUI设计工具Matlab提供了一些有用的工具和函数用于GUI设计。

最常用的工具是GUIDE (Graphical User Interface Development Environment),它是Matlab的图形用户界面开发环境。

GUIDE允许用户通过可视化的方式创建和编辑GUI元素,如按钮、文本框、图形等。

此外,Matlab还提供了一些用于处理图形和交互的函数,如绘图函数、事件处理函数等。

三、GUI设计的基本原则在进行GUI设计时,有一些基本原则需要被遵循。

首先,界面应该简洁、直观和易于理解。

用户应该能够快速找到所需的功能,并在界面上进行直接操作。

其次,界面应该具有一致性,各个元素的布局和功能应该保持一致,避免给用户造成困惑。

最后,界面应该具有灵活性和可扩展性,方便用户进行个性化设置和定制。

四、实例:绘制曲线的GUI设计假设我们需要设计一个简单的GUI界面,用于绘制数学函数的曲线。

首先,我们可以使用GUIDE创建一个包含绘图区域、输入框和按钮的界面。

然后,我们需要编写一些事件处理函数,用于响应用户的操作。

一个基本的事件处理函数是“绘图”函数,它用于根据用户输入绘制曲线。

在该函数中,我们可以使用Matlab提供的绘图函数,如plot()、xlabel()和ylabel()等,来完成曲线的绘制和标注。

Matlab_-_GUI图形用户界面简单实用教程

Matlab_-_GUI图形用户界面简单实用教程
11
五 GUI图形用户界面
4. 界面激活 保存静态界面后,利用工具栏上的运行按钮激活该界面。 激活后可以看到两个同名文件:experiment1.m和 experiment1.fig。 experiment1.m文件在M文本编辑器中打开, experiment1.fig文件显示为操作界面,但是无法实现任何功 能,需要编写回调函数。
15
五 GUI图形用户界面
对本例来说,首先需要定义几个用户变量,以便记录参加 handles = 运算的数值,进行计算。 mainWnd : 132.0002 p2 : 24.0006
Operation : 149.0002 p1 handles, : 23.0006 function Experiment1_OpeningFcn(hObject, eventdata, varargin) pDot : 148.0002 text3 : 22.0006 handles.output = hObject; pLog10 : 147.0002 text2 : 21.0006 handles.s_Exp=‘’; % 以字符串的形式记录计算表达式 pLog : 146.0002 frame4 : 20.0006 handles.s_Num=‘’; %以字符串的形式记录编辑框中要显示的数值 pCos : 145.0002 text1 : 19.0006 handles.i=1; % s_Exp的计数器 pClear : 18.0006 pSin : 144.0002 pDel : 143.0002 handles.j=1; % s_Num的计数器 pDone : 17.0006 pExp : 16.0006 handles.flag=0; pAdd : 142.0002 %用来区分四则运算和其他运算的标志 pDiv : 141.0002 frame3 : 15.0007 % Update handles structure pMul : 140.0002 frame2 : 133.0002 guidata(hObject, handles); p0 : 139.0002 p_Clear : 151.0002 p9 : 138.0002 p_Done : 150.0002 p8 : 137.0002 output : 132.0002 p7 : 136.0002 s_Exp : '50' p6 : 135.0002 s_Num : '5' p5 : 134.0002 i :2 p4 : 26.0006 j :2 p3 : 25.0006 flag : 0

MATLAB图形用户界面设计与开发教程

MATLAB图形用户界面设计与开发教程

MATLAB图形用户界面设计与开发教程绪论:MATLAB是一种用于数学计算和科学数据可视化的强大软件工具。

它被广泛应用于工程、科学和数学领域。

而图形用户界面(Graphical User Interface, GUI)则是一种以图形形式呈现的软件界面,使用户能够通过可视化的方式与程序进行交互。

本教程将深入浅出地介绍MATLAB图形用户界面的设计与开发。

一、GUI的基本概念与原理在开始GUI设计之前,我们需要了解一些基本的概念与原理。

MATLAB提供了一套强大的GUI设计工具集,其中最常用的是GUIDE(GUI Development Environment)。

GUIDE允许用户使用可视化的方式来构建GUI界面,包括按钮、文本框、菜单等各种控件。

二、GUI设计的基本步骤1. 创建GUI界面:在MATLAB命令窗口中输入“guide”命令即可打开GUIDE 界面。

然后选择“Blank GUI”模板,点击“OK”按钮即可创建一个空白的GUI窗口。

2. 添加控件:在GUI界面上右键点击,选择“Insert”菜单来添加各种控件,比如按钮、文本框、列表框等。

选择控件后,通过拖拽的方式将其放置在GUI界面上。

3. 设计控件属性:通过在“Property Inspector”面板中修改控件的属性来定制化界面的外观和行为。

比如修改按钮的文本、设置文本框的宽度等。

4. 编写回调函数:在MATLAB命令窗口中输入“guide”命令即可打开GUIDE 界面。

然后选择“Blank GUI”模板,点击“OK”按钮即可创建一个空白的GUI窗口。

5. 保存并运行GUI:点击GUIDE界面上的“Save”按钮,保存GUI界面的m文件。

然后在MATLAB命令窗口中输入“run xxx.m”来运行GUI。

三、GUI界面的布局和设计原则好的GUI界面应当具备良好的布局和设计,以提高用户的使用体验。

以下是一些常用的布局和设计原则:1. 界面简洁明了:避免过多的控件和信息,让用户能够快速找到所需功能。

matlab 编写界面例程 -回复

matlab 编写界面例程 -回复

matlab 编写界面例程-回复Matlab是一个广泛使用的科学计算软件,具有强大的数值计算和可视化功能。

它通过提供丰富的函数库和语法特性,使得用户可以用简单的脚本或函数来处理复杂的数学问题。

除此之外,Matlab还提供了一个编写界面的功能,使得用户可以通过图形化界面来更加方便地操作和可视化数据。

本篇文章将详细介绍如何使用Matlab编写界面例程,让你可以更加灵活地使用这个强大的工具。

首先,我们需要了解Matlab的GUI编程基础知识。

Matlab提供了一个叫做"GUIDE"的工具箱,用于创建和编辑GUI。

在开始之前,你需要确保你的Matlab中已经安装了这个工具箱。

可以通过在Matlab命令窗口中输入"guide"来打开这个工具箱。

GUI的基本结构由图形面板和控件组成。

图形面板是一个可视化的容器,用于放置各种控件,例如按钮、文本框、下拉菜单等。

你可以通过拖动和放置方式来创建图形面板。

然后,我们需要给控件添加回调函数。

回调函数是指在用户与控件进行交互时需要执行的一系列操作。

当用户点击按钮或者改变下拉菜单中的选项时,回调函数会捕捉到这样的交互事件,并执行相应的操作。

在Matlab中,你可以使用两种方式来添加回调函数。

一种是通过Matlab自带的回调编辑器。

你只需要打开编辑器,选择控件和事件,然后编写相应的代码即可。

另一种方式是通过手动编写回调函数。

这种方式需要你对Matlab语法有一定的了解,但是它也更加灵活和自由。

接下来,我们需要使用Matlab提供的函数和命令来实现所需的功能。

Matlab提供了许多用于数据分析、图形绘制和算法实现的函数库,你可以在Matlab官方文档中找到这些函数的具体用法和详细介绍。

最后,我们需要将GUI界面和代码连接起来。

在GUI编辑器中,你可以将控件和回调函数进行连接。

这样,当用户与控件进行交互时,相应的回调函数就会被调用。

在实际使用中,你可以根据自己的需要设计和开发GUI界面。

matlabGUI人机用户界面设计[6]

图7-16 放置图形顾客界面旳控件
图7-18 对齐工具对话框
在界面之中还需要创建菜单,创建菜单能够经过菜单编辑器完毕。单击工具栏上旳菜单编辑器按钮,能够打开菜单编辑器对话框,在对话框中单击创建新菜单按钮,则能够创建新旳菜单,设置菜单属性如图7-20所示。
以空白界面类型为例,单击“OK”按钮,这时MATLAB将开启GUIDE旳图形界面,如图所示。
图 具有空白界面旳GUIDE图形界面
在GUIDE界面旳左侧为MATLAB旳控件面板,控件面板包括了能够在画布上绘制旳图形控件: (Push Button)、单项选择按钮(Toggle Button)、单项选择框(Radio Button)、复选框(Checkbox)、文本框(Edit Text)、静态文本框(Static Text)、滚动条(Slider)、组别框(Frame)、列表框(Listbox)、下拉框(Popup Menu)和坐标轴(Axes)。
2.1 GUIDE工具入门
使用图形句柄创建GUI旳过程繁琐,而且在程序编写好之前,顾客图形界面是不可见旳。所觉得了便于创建图形顾客界面,MATLAB提供了一种开发环境,能够帮助顾客创建图形顾客界面,这就是GUIDE——Graphic User Interface Development Environment。 在MATLAB中开启GUIDE旳措施: >>guide或者经过“Start”菜单项选择择“MATLAB”下旳“GUIDE”命令。
这时,将直接开启GUIDE Quick Start窗体,在这个窗体中,能够初步选择图形顾客界面旳类型,如图所示。
图 GUIDE旳迅速开启界面
在迅速开启界面中,能够选择四种类型旳新建界面:* 空白界面(Black GUI)。* 具有图形控件旳界面(GUI With Uicontrols)。* 具有菜单和坐标轴旳界面(GUI With Axes and Menu)。* 模式对话框(Modal Question Dialog)。

MATLAB实用教程GUI

MATLAB实用教程GUIMATLAB是一种功能强大的科学计算软件,在各个领域中被广泛应用。

除了提供基础的数值计算和数据可视化功能之外,MATLAB还提供了可视化编程界面(GUI)工具箱,方便用户通过交互式界面进行操作和数据分析。

本篇文章将介绍一些MATLAB实用教程GUI的相关内容。

首先,我们需要了解什么是GUI。

GUI是Graphical User Interface的缩写,即图形用户界面。

通过GUI,用户可以通过鼠标、键盘等输入设备与计算机进行交互,而不需要通过命令行输入指令。

MATLAB提供了一系列功能强大的GUI工具箱,用于创建各种形式的图形用户界面。

创建GUI的第一步是打开MATLAB的Guide工具箱。

Guide是一个可视化开发环境,提供了创建GUI界面和添加交互元素的功能。

打开Guide 后,用户可以通过拖放控件、设置属性等方式创建界面,并将其与MATLAB代码关联起来。

在Guide中,用户可以使用不同的布局管理器(layout manager)来组织和调整界面中的控件位置和大小。

常用的布局管理器包括网格布局(grid layout)、组框布局(box layout)等。

用户还可以为每个控件设置属性,如字体、颜色、大小等。

对于每个控件,用户可以为其添加特定的回调函数。

回调函数是一个用户定义的函数,在特定事件(如按钮点击、输入框输入等)发生时被调用。

通过回调函数,用户可以定义GUI与MATLAB代码之间的交互逻辑。

在编写回调函数时,用户可以使用MATLAB的各种功能。

例如,用户可以使用MATLAB的函数库进行数据处理和分析,绘制图表和绘图,并将结果显示在GUI界面中。

用户还可以使用MATLAB提供的各种工具和函数库进行图像处理、信号处理等。

创建一个GUI界面的一个常见实例是绘制函数图像。

用户可以在界面中添加一个绘图区域和一些滑动条或按钮,用于调整绘图的参数。

在绘图区域中,用户可以绘制函数图像,并随着滑动条或按钮的调整,实时更新绘图结果。

(完整版)MatlabGUIDE使用说明(MatlabGUI界面)

去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。

从简单的例子说起吧。

创建Matlab GUI界面通常有两种方式:1,使用 .m 文件直接动态添加控件2. 使用GUIDE 快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。

一:创建GUI1.在 .m文件中动态添加例如h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…'numbertitle','off','position',[100 100 300 100]);h_edit=uicontrol('style','edit','backgroundcolor',[1 1 1],'position',[20 20 50 20],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20 50 50 20],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80 50 50 20],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);2.使用GUIDE帮助创建GUI在Command 里面输入GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:Layout Editor:布局编辑器;Alignment Tool:对齐工具;Property Inspector:对象属性观察器;Object Browser:对象浏览器;Menu Editor:菜单编辑器。

matlab-GUI-操作讲义-图形用户界面设计

用于显示文字信息,但不接受输入。
可以用图示的方式显示在一个范围内数值的 大概值范围,用户可以移动滚动条改变数值。
将一组控件围在框架中,用于装饰界面。
显示下拉文字列表,用户可以从列表中选择 一项和多项。
相当于文本框和列表框的组合,用户可以从 下拉列表中选择。
用于绘制坐标轴。
7.2.3 控件的使用(续)
实用文档
7.2.5 回调函数
实现GUI的基本机制是对控件的属性编程。在设 计界面中选定需要编写回调函数的对象,然后选 择菜单”View”-“Object Callbacks”,就会出现4个 子菜单,都是用来编写回调函数的。
当选择各选单项时,MATLAB会提醒用户保存设 计的界面,然后打开M文件编辑器/调试器,可看 到机器自动生成了一个函数文件,用户即可在该 文件中带%--标记的行填写回调指令,其余指 令用户不必也不能更改。
下属性值:
Fontsize 0.351
%字体大小
FontUnits normaliszed 位,缩放时保持字体比例
%采用相对度量单
HorizontalAlignment Center %文字中心对齐
String 符
系统阻尼比
%显示在界面上的字
Tag
edit_text
%生成
handles.edit_text域存放静态文本句柄
guide FN
在工作台中打开文件名为FN
的用户界面
注意:在guide指令作用下,待打开实的用文文档件名不分字母的大小写。
7.2 图形用户界面设计(续)
打开的GUI启动界面提供新建界面(Create New GUI)和打开已有界面文件(Open Existing GUI) 的属性页。新建界面可以选择空白界面、包含 有控件的模板界面、包含有轴对象和菜单的模 板界面、标准询问窗口等选项。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

独立的回调函数 建立GUI函数的一个有效方法是编写独立的回调函数,专门执行一个或多个回调。函数使用的对象句柄和其它变量可以作为参量传递,必要时回调函数可返回值。 考虑先前的一个例子,建立一个方位角的滑标,以脚本文件来实现。

% setview.m script file vw=get(gca, ' View ' ); Hc_az=uicontrol(gcf, ' Style ' , ' slider ' ,... ' Position ' ,[10 5 140 20],... ' Min ' ,-90, ' Max ' ,90, ' Value ' ,vw(1),... ' Callback ' ,[... ' set(Hc_cur, ' String ' ,num2str(get(Hc_az, ' Value ' ))), ' ... ' set(gca, ' View ' ,[get(Hc_az, ' Value ' ) vw(2)]) ' ]); Hc_min=uicontrol(gcf, ' style ' , ' text ' ,... ' Position ' ,[10 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Min ' )));

Hc_max=uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[110 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Max ' )));

Hc_cur=uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[60 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Value ' )));

下面是同样的例子。作为一个函数,采用 ' Tag ' 属性来辨别控制框,并使用独立的M文件来执行回调。

funtion setview( ) vw=get(gca, ' View ' ); Hc_az=uicontrol(gcf, ' Style ' , ' Slider ' ,... ' Position ' ,[10 5 140 20],... ' Min ' ,-90, ' Max ' ,90, ' Value ' ,vw(1),... ' Tag ' , ' Azslider ' ,... ' Callback ' , ' svcback ' );

Hc_min=uicontrol(gcf, ' style ' , ' text,... ' Position ' ,[10 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Min ' )));

Hc_max=uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[110 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Max ' ))); Hc_cur=uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[60 25 40 20],... ' Tag ' , ' Azcur ' ,... ' String ' ,num2str(get(Hc_az, ' Value ' )));

回调函数本身如下: function svcback( ) vw = get(gca, ' View ' ); Hc_az = findobj(gcf, ' Tag ' , ' AZslider ' ); Hc_cur = findobj(gcf, ' Tag ' , ' AZcur ' );

str = num2str(get(Hc_az, ' Value ' )); newview =[get(Hc_az, ' Value ' ) vw(2)]; set(Hc_cur, ' String ' ,str) set(gca, ' View ' ,newview)

上面的例子并不节省很多代码,但却得到了用函数而不用脚本文件的优点:回调函数可以利用临时变量,而不使命令窗口工作空间拥挤;不需要eval所需的引号和字符串;在回调函数中命令的句法变得十分简单。使用独立回调函数技术,越复杂的回调(函数)越简单。 独立回调函数的缺点是:需要很大数目的M文件以实现一个含有若干控制框和菜单项的GUI函数,所有这些M文件必须在MATLAB路径中可得,且每一个文件又必须要有一个不同的

文件名。在对文件名大小有限制且对大小写不敏感的平台上,如MS-windows,文件冲突的机会就增加了。而且回调函数只能被GUI函数调用而不能被用户调用。

递归函数调用 利用单独的M文件并递归地调用该文件,既可以避免多个M文件的复杂性,又可以利用函数的优点。使用开关 switches或if elseif语句,可将回调函数装入调用函数内。通常这样一种函数调用的结构为

function guifunc(switch)。 其中switch确定执行哪一个函数开关的参量,它可以是字符串 ' startup ' , ' close ' , ' sectolor ' 等等,也可以是代码或数字。如switch是字符串,则可如下面所示的M文件片段那样将开关编程。

if nargin < 1, switch = ' startup ' ; end; if ~isstr(switch), error( ' Invalid argument ' ), end; if strcmp(switch, ' startup ' ), elseif strcmp(switch, ' setcolor ' ), elseif strcmp(switch, ' close ' ), end

如果是代码或字符串,开关也可以相同方式编程。 if nargin < 1, switch = 0; end; if isstr(switch), error( ' Invalid argument ' ), end; if switch = = 0, elseif switch = =1, elseif switch ==2, end

下面的例子说明了方位角滑标如何可作为单独的函数M文件来实现: function setview(switch) if nargin < 1, switch = ' startup ' ; end; if ~isstr(switch), error( ' Invalid argument. ' ); end;

vw = get(gca, ' view ' ); % This information is needed in both sections if strcmp(switch, ' startup ' ) % Define the controls and tag them Hc_az = uicontrol(gcf, ' Style ' , ' slider ' ,... ' Position ' ,[10 5 140 20],... ' Min ' ,-90, ' Max ' ,90, ' Value ' vw(1),... ' Tag ' , ' AZslider ' ,... ' Callback ' , ' setview( ' set ' ) ' );

Hc_min=uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[10 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Min ' ))); Hc_max = uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[110 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Max ' )));

Hc_cur =uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[60 25 40 20],... ' Tag ' , ' AZcur ' ,... ' string ' ,num2str(get(Hc_az, ' Value ' )));

elseif strcmp(switch, ' set ' ) % Execute the Callback Hc_az=findobj(gcf, ' Tag ' , ' AZslider ' );

相关文档
最新文档