虚拟样机仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟设计与仿真技术
课程作业
学院:机电工程学院
专业:车辆工程
姓名:施长政
学号:2010020261
教师:王钰(教授)
Matlab的GUI应用
一、Matlab的简介
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB具有以下六个特点:
1.编程效率高
用MATLAB编写程序犹如在演算纸上排列出公式与求解问题,MATLAB语言也可通俗地称为演算纸式的科学算法语言。由于它编写简单,所以编程效率高,易学易懂。
2. 用户使用方便
MATLAB语言把编辑、编译、连接和执行融为一体,其调试程序手段丰富,调试速度快,需要学习时间少。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错
误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
3.扩充能力强
高版本的MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB使用效率和扩充它的功能。
4.语句简单,内涵丰富
MATLAB语言中最基本最重要的成分是函数,其一般形式为(a,6,c…)= fun(d,e ,f,…),即一个函数由函数名,输入变量d,e,f,…和输出变量a,b,c….组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义。这不仅使MATLAB的库函数功能更丰富,而大大减少了需要的磁盘空间,使得MATLAB编写的M文件简单、短小而高效。
5.高效方便的矩阵和数组运算
MATLAB语言像Basic、Fortran和C语言一样规定了矩阵的一系列运算符,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。
6.方便的绘图功能
MATLAB的绘图是十分方便的,它有一系列绘图函数(命令),使用时只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。
二、GUI的认识
2.1 GUI的概念
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。图形用户界面(Graphical User Interfaces ,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。用户图形界面(GUI)是程序的图形化界面。
一个好的GUI 能够使程序更加容易的使用。它提供用户一个常见的界面,还提供一些控件,例如,按钮,列表框,滑块,菜单等。用户图形界面应当是易理解且操作是可以预告的,所以当用户进行某一项操作,它知道如何去做。例如,当鼠标在一个按钮上发生了单击事件,用户图形界面初始化它的操作,并在按钮的标签上对这个操作进行描述。
2.2 创建MATLAB 用户图形界面必须由三个基本元素
2.2.1 组件
在matlab GUI 中的每一个项目(按钮,标签,编辑框等)都是一个图
形化组件.组件可分为三类:图形化控件(按钮,编辑框,列表,滚动条等),静态元素(窗口和文本字符串),菜单和坐标系. 图形化控件和静态元素由函数uicontrol 创建,菜单由函数uimenu 和uicontextmenu 创建,坐标系经常用于显示图形化数据,由函数axes 创建。
2.2.2 图象窗口(Figure)
GUI 的每一个组件都必须安排图象窗口中。以前,我们在画数据图象时,图象窗口会被自动创建。但我们还可以用函数figure 来创建空图象窗口,空图象窗口经常用于放臵各种类型的组件。
2.2.3 回应
如果用户用鼠标单击或用键盘键入一些信息,那么程序就要有相应的动作。鼠标单击或键入信息是一个事件,如果matlab 程序运行相应的函数,那么matlab函数肯定会有所反应。例如,如果用户单击一按钮,这个事件必然导致相应的matlab语句执行。这些相应的语句被称为回应。只要执行GUI 的单个图形组件,必须有一个回应。
三、GUI的数据概念
3.1 GUI数据类型
MATLAB的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,限于篇幅我们将重点介绍其中几个常用类型。
3.1.1 变量与常量
变量是任何程序设计语言的基本要素之一,MATLAB语言当然也不例外。与常规的程序设计语言不同的MATLAB并不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会