计算机毕业设计论文定稿.docx

上传人:b****9 文档编号:25029643 上传时间:2023-06-04 格式:DOCX 页数:38 大小:914.98KB
下载 相关 举报
计算机毕业设计论文定稿.docx_第1页
第1页 / 共38页
计算机毕业设计论文定稿.docx_第2页
第2页 / 共38页
计算机毕业设计论文定稿.docx_第3页
第3页 / 共38页
计算机毕业设计论文定稿.docx_第4页
第4页 / 共38页
计算机毕业设计论文定稿.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

计算机毕业设计论文定稿.docx

《计算机毕业设计论文定稿.docx》由会员分享,可在线阅读,更多相关《计算机毕业设计论文定稿.docx(38页珍藏版)》请在冰豆网上搜索。

计算机毕业设计论文定稿.docx

计算机毕业设计论文定稿

摘要

MATLAB语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问题上。

MATLABGUI是MATLAB的人机交互界面。

由于GUI本身提供了windows基本控件的支持,并且具有良好的事件驱动机制,同时提供了MATLAB数学库的接口,所以GUI对于控制系统仿真的平台设计显得十分合适。

GUI对于每个用户窗口生成.fig和.m文件。

前者负责界面的设计信息,后者负责后台代码的设计。

本文所做的研究主要是基于MATLABGUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,实现了用于控制系统计算机辅助分析与设计的软件。

本软件主要功能:

实现传递函数模型输入、状态方程模型输入、模型装换、控制系统稳定性分析、系统可观性可控性判断,绘制系统奈奎斯特图、波特图、根轨迹图以及零极点分布图。

在继续完善的基础上能够用于本科自动控制原理教程的教学实验和一般的科学研究。

关键词:

控制系统;MATLABGUI;计算机辅助设计

 

Abstract

MATLABlanguageisaveryeffectivetool,andcanbeeasilyresolvedinthesystemsimulationandcontrolsystemofteachinginthefieldofcomputer-aideddesignandresearchproblems,itcouldbethebottomoftheuserfromtediousprogrammingliberatethelimitedspendmorevaluabletimetosolvescientificproblems.TheMATLABGUIistheinteractiveinterface.AstheGUIitselfprovidesthebasiccontrolwindowssupport,andhasagoodmechanismforevent-driven,whileprovidingtheMATLABMathLibraryinterface,theGUIforcontrolsystemsimulationplatformforthedesignofitissuitable.GUIwindowgeneratedforeachuser.Figand.Mfile.Theformerisresponsibleforthedesignoftheinterfaceinformation,whichisresponsibleforthedesignofthebackgroundcode.

ResearchdoneinthisarticleismainlybasedonMATLABGUIplatform,thebasisofcombinationofcontrolsystemtheoryandMATLABControlSystemToolbox,therealizationofcontrolsystemsforcomputer-aidedanalysisanddesignsoftware.Themainfunctionsofthesoftware:

therealizationoftransferfunctionmodelinput,thestateequationmodelinput,themodelfittedforthecontrolsystemstabilityanalysis,systemobservabilitycontrollabilityjudgments、renderingthesystemNyquistdiagram、Bodeplots、rootlocusandPole-zerodistribution.Whilecontinuingtoimprovebasedontheprincipleofautomaticcontrolcanbeusedforundergraduateteachingcourseexperimentsandscientificresearchingeneral.

Keywords:

ControlSystem;MATLABGUI;Computer-assistantdesign

 

 

第1章概述

1.1论文选题背景和意义

自动控制原理是自动控制专业和自动化专业的主要课程之一,是研究自动控制技术的基础理论课,是必修的专业基础课程。

自动控制原理能使学生掌握自动控制系统的基本理论、基本概念、分析和设计方法,为更深入地学习现代控制策略和研究各种自动控制系统打下理论基础[1]。

在自动控制领域里的科学研究和工程应用中有大量繁琐的计算与仿真曲线绘制任务,给控制系统的分析和设计带来了巨大的工作量,为了解决海量计算的问题,各种控制系统设计与仿真的软件层出不穷,技术人员凭借这些产品强大的计算和绘图功能,使系统分析和设计的效率得以大大提高。

然而在众多控制系统设计与仿真软件中,MATLAB以其强大的计算功能、丰富方便的图形功能、模块化的计算方法,以及动态系统仿真工具Simulink;脱颖而出成为控制系统设计和仿真领域中的佼佼者,同时也成为了当今最流行的科学工程语言。

然而MATLAB自身所存在的某些缺点限制了它的应用范围件。

一、MATLAB以解释方式执行效率很低,这在处理图像是特别明显;二、MATLAB程序不能脱离其环境运行,因此它不能被用于开发商用软件;三、MATLAB的程序是后缀为m的脚本文件它对用户完全透明,因此用户可任意进行修改,但有时为维护代码的完整性和安全性,并不希望用户了解或更改核心程序;四、其界面编写功能也过于简单,以致不能满足用户的高级需求。

但是在本文软件设计开发主要应用于自动控制原理教学实验,并不需要复杂的图像处理和对代码完整性及安全性的苛刻保护,所以运用MATLABGUI能较为简单得对软件进行设计开发[2]。

1.2计算机辅助分析与设计在控制系统仿真中的发展现状

控制理论是一门发展极为迅速的学科[3]。

在近一个世纪的发展过程中,其“经典控制理论”与“现代控制理论”的体系己基本完善,近三十年来的“先进控制理论”,如“大系统理论”、各类“智能控制”等,亦取得了蓬勃的发展和可喜的进展。

今天的控制理论及其应用技术己不再仅是自动化学科的重要基础,而已成为机电工程、航空航天等现代工程技术中不可缺少的一部分,并在经济学、生物学、医学等领域中获得越来越广泛的应用。

伴随着控制理论向深度和广度发展的是大量控制方法和设计算法的产生,而现代计算机及计算技术的发展则使得这些设计过程可通过CAD程序来实现。

这样一种发展不仅使设计者解脱了繁琐的甚至是人工无法实现的手工计算困境,而且使一般设计人员(特别使非控制类专业人员)不必精通某些细小定理的复杂数学证明,或对一些实际中不易发生的特殊情况进行详尽的考察而应用各种控制理论进行控制系统的设计,从而极大地增加了控制理论的实用价值和实际应用,同时也促进了控制理论的发展。

早在1973年,美国学者Melsa教授和Jones博士出版了一本专著[4],书中给出了一套控制系统计算机辅助分析与设计的程序,包括求系统的根轨迹、频域响应、时间响应、以及各种控制系统设计的子程序。

这一时期出现的软件还有瑞典Lund工学院CACSD软件INTRAC、日本的古田胜久教授主持开发的DPACS-F软件、英国Manchester理工大学的控制系统计算机辅助设计软件包、英国剑桥大学推出的线性系统分析与设计软件CLADP等等。

此外,在控制系统的计算机辅助分析与设计研究进展中还出现了一些专门的仿真语言,如比较流行的仿真语言有ACSL,CSMP,TSIM,ESL等。

这种仿真语言要求用户依照它所提供的语句和大量的模型模块编写一个描述系统的程序,然后才可以对控制系统进行仿真。

我国较有影响的控制系统仿真与CAD成果[5]是中科院系统科学研究所主持的国家自然科学基金重大科研项目开发的CADCSC软件和清华大学孙增沂、袁曾任教授的著作和程序等。

1988年中科院沈阳自动化所马纪虎研究员主持开发的CSMP-C仿真语言,是国内有代表意义的仿真语言。

近十年来,随着MATLAB语言和Simulink仿真环境在控制系统研究与教学中日益广泛的应用,在系统仿真、自动控制等领域,国外很多高校在教学与研究中都将MATLAB/Simulink语言作为首选的计算机工具,我国的科学工作者和教育工作者也逐渐意识到MATLAB语言的重要性,并且在很多搞笑的本科自动控制原理实验教学中得到应用[6]。

MATLAB是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。

它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。

它还包括了ToolBox(工具箱)[7]的各类问题的求解工具,可用来求解特定学科的问题。

MATLAB所具备的强有力的计算功能和图形表现,以及各种工具箱提供的丰富的专用函数,为设计研究人员避免重复繁琐的计算和编程,更快、更好、更准确地进行控制系统分析和设计提供了极大的帮助。

Mathworks公司于2004年7月发布了MATLAB的最新版本MATLAB7。

新版本针对编程环境、代码效率、数据可视化、数学计算、文件等方面进行了升级,同时包含了功能强大的控制产品集以支持控制系统设计过程的每一个环节,借助于使用MATLAB中与控制相关的工具箱能够实现许多前沿的控制设计方法;此外,与MATLAB7同时发布的Simulink6.0可以辅助技术人员更方便地建立控制系统模型,并通过仿真不断优化设计。

1.3本文主要内容

本文主要研究及工作是通过利用MATLABGUI[8]界面,为本科自动控制理论教学的课程实验提供一个控制系统分析与设计的仿真软件。

此软件主要功能:

实现传递函数模型输入、状态方程模型输入、模型转换、控制系统稳定性分析、系统可观性可控性判断,绘制系统奈奎斯特图、波特图、根轨迹图。

因此,首先本论文将根据自动控制原理的本科教学要求对控制系统基础理论和MATLAB软件作以介绍;其次MATLABGUI是这个仿真软件开发的基础,本文将详细介绍,最后将举例介绍这个控制系统仿真软件的设计与实现过程。

 

第2章控制系统与MATLAB语言

2.1控制系统理论基础

控制系统理论的基础知识—自动控制原理,是自动化学科的重要理论基础,是专门研究有关自动控制系统中基本概念、基本原理和基本方法的一门课程,是高等学校自动化类专业的一门核心基础理论课程。

学好自动控制理论对掌握自动化技术有着重要的作用。

《自动控制原理》[9]是自动控制技术的基础理论,主要分“古典控制理论”和“现代控制理论”两大部分。

古典控制理论以传递函数为基础研究单输入单输出一类定常控制系统的分析与设计问题,现代控制理论是六十年代在古典控制理论基础上随着科学技术发展和工程实践需要而迅速发展起来的,它以状态空间法为基础,研究多输入多输出、时变、非线性、高精度、高效能等控制系统的分析与设计问题。

2.1.1控制系统的古典理论与现代理论

20世纪50年代,经典控制理论形成体系[10]。

经典控制理论的数学基础是拉普拉斯变换,系统的基本数学模型是传递函数,主要的分析和综合方法有Bode图法、根轨迹法、劳斯(Routh)判据、奈奎斯特(Nquist)稳定判据、PID控制等。

经典控制系统理论虽然至今仍广泛应用在许多工程技术领域中,但也存在着明显的局限性,主要表现在:

主要用于单输入单输出线性时不变系统而难以有效地处理多输入多输出系统;只采用外部描述方法讨论控制系统的输入输出关系,而难以揭示系统内部的特性;控制系统设计方法基本上是一种试凑法而不能提供最优控制的方法和手段等等。

在20世纪50年代核反应堆控制研究、尤其是航天控制研究的推动下,控制

理论在1960年前后开始了从经典阶段到现代阶段的过渡,其中的重要标志是卡尔曼(R.E.Kalman)系统地把状态空间法引入到系统与控制理论中。

现代控制理论以状态空间模型为基础,研究系统内部的结构,提出可控性、可观测性概念及分析方法,也提出了一系列设计方法,如LQR(LinearQuadraticRegulator)和LQG(LinearQuadraticGaussian)最优控制方法、Kalman滤波器方法、极点配置方法、基于状态观测器的反馈控制方法等。

现代控制理论克服了经典控制的许多局限性,它能够解决某些非线性和时变系统的控制问题,适用于多输入多输出反馈控制系统,可以实现最优控制规律。

此外,现代控制理论不仅能够研究确定性的系统,而且可以研究随机的过程,即包含了随机控制系统的分析和设计方法。

2.1.2控制系统理论的基本内容

研究控制系统分析与设计的基础知识,包括控制系统的稳定性、稳态特性和动态特性,以及控制系统的校正与计算机辅助分析。

主要内容:

控制系统的数学模型、控制系统的时域分析、根轨迹分析、频域分析、控制系统的校正、非线性系统的近似分析、现代控制理论基础、采样控制系统的分析与设计、控制系统的计算机辅助分析与设计等。

2.2MATLAB语言与控制系统工具箱

MATLAB是由MathMorks公司于1984年推出的一套数值计算软件自推出之后,该公司不断接收和吸取各学科领域权威人士为之编写的函数和程序,并将它们转换为MATLAB的工具箱[11]。

这样,使MATLAB得到不断的发展和扩充,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能。

它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以解决问题,快速而且准确。

2.2.1MATLAB软件介绍

MATLAB的名字由Matrix和Laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的CleveMoler教授。

于1984年由MathWokrs公司推出(DOS版)。

1993年推出MATLAB4.0(windows版)。

1997年MATLAB5.0版问世。

1999年春已到了5.3版。

今天MATLAB己成为国际上最优秀的科技应用软件之一,其强大的科学计算与可视化功能、简单易用的开放式可推展环境以及多达三十余个面向不同领域而扩展的工具箱(Tool-Box)的支持,使得MATLAB在许多学科领域成为科学计算、计算机辅助设计与分析的基础工具和首选平台。

MATLAB主要由MATLAB主程序、Simulink动态系统仿真和MATLAB工具箱三大部分组成[12]。

其中MATLAB主程序包括MATLAB语言、工作环境、句柄图形、数学函数库和应用程序接口五个部分;Simulink是用于动态系统仿真的交互式系统,允许用户在屏幕上绘制框图来模拟一个系统,并能动态地控制该系统,目前的Simulink可以处理线性、非线性、连续、离散、多变量及多系统;工具箱实际就是用MATLAB的基本语句编写的各种子程序集和函数库,用于解决某一方面的特定问题或实现某一类的新算法,它是开放性的,可以应用也可以根据自己的需要进行扩展。

MATLAB工具箱大体可分为功能性的工具箱和学科性的工具箱两类。

功能性的工具箱主要用于扩展MATLAB的符号计算功能、图形建模功能、文字处理功能和与硬件的实时交互过程,如符号计算工具箱等:

学科性的工具箱则有较强的专业性,用于解决特定的问题,如信号处理工具箱和通信工具箱。

MATLAB的主要特点[13]:

(1)简单易学:

MATLAB是一门编程语言,其语法规则与一般的结构化高级编程语言如C语言等大同小异,而且使用更方便,具有一般语言基础的用户很快就可以掌握。

(2)代码短小高效:

由于MATLAB已经将数学问题的具体算法编成了现成的函数,用户只要熟悉算法的特点、适用场合、函数的调用格式和参数意义等,通过调用函数很快就可以解决问题,二不必花大量的时间纠缠于具体算法的实现。

(3)计算功能非常强大:

该软件具有强大的矩阵计算功能,利用一般的符号和函数就可以对矩阵进行加、减、乘、除运算以及转置和求逆等运算,而且可以处理稀疏矩阵等特殊的矩阵,非常适合于有限元等大型数值运算的编程。

此外,该软件现有的数十个工具箱,可以解决应用中的很多数学问题。

(4)强大的图形绘制和处理功能:

该软件可以绘制常见的二维三维图形,如线形图,条形图,饼图,散点图,直方图,误差条图,玫瑰花图,极坐标图等。

利用有关函数,可以对三维图形进行颜色光照材质纹理和透明性设置并进行交互处理。

科学计算要设计到大量数据的处理,利用图形展示数据场的特征,能显著提高数据处理的效率,提高对数据反馈信息的处理速度和能力。

MATLAB提供了丰富的科学计算可视化功能,利用它可以绘制二维三维矢量图、等值线图、三维表面图、曲面图、二维三维流线图、三维流锥、流沙图、流带图、流管图、卷曲图和剖面图等,还可以进行动画制作。

基于MATLAB句柄图形对象,结合绘图工具函数,可以根据需要用MATLAB绘制自己的图形。

(5)可扩展性能:

可扩展性能视该软件的一大优点,用户可以自己编写M文件,组成自己的工具箱,方便的解决本领域内常见的计算问题。

此外,利用MATLAB编译器可以生成独立的可执行程序,从而可以隐藏算法并避免依赖MATLAB。

MATLAB支持DDE、OLE、ActiveX自动化和COM组建等机制,可以与同样支持该技术的应用程序接口。

利用最近推出的COM生成器和Excel生成器,可以利用给定的M文件和MEX文件创建COM组建和Excel插件,从而能够实现与VB、VC等程序的无缝集成。

利用Web服务器,可以实现MATLAB于网络的接口。

采用互操作技术,可以实现MATLAB与.NET程序的接口。

利用端口API函数,可以实现MATLAB与硬件的接口。

MATLAB主程序是一种以数组和矩阵为元素的工程计算语言,主要包括以下几部分:

一、MATLAB语言

MATLAB编程语言是一种面向科学与工程计算的高级语言允许按照数学习惯的方式编写程序由于它符合人们思维方式的编写模式使得该语言比Basci、Fortran、C、Pascal等高级语言更容易学习和应用MATLAB语言以矢量和矩阵为基本的数据单元包含流程控制语句顺序选择循环条件转移和暂停等大量的运算符丰富的函数多种数据结构输入输出以及面向对象编程这些既可以满足简单问题的求解也适合于开发复杂的大型程序MATLAB不仅仅是一套打好包的函数库同时也是一种高级的面向对象的编程语言使用MATLAB能够卓有成效地开发自己的程序MATLAB自身的许多函数实际上也包括所有的工具箱函数都是用M文件实现的。

二、MATLAB7.0工作环境[14]

MATLAB工作环境包括变量查看器、当前路径选择菜单、命令历史记录窗口、当前工作空间窗口、命令控制窗口、图形处理窗口、程序编辑器、模型编辑器、GUI编辑器和MATLAB附带的大量M文件。

三、MATLAB绘图功能

MATLAB句柄图形控制系统是MATLAB数据可视化的核心部分。

它既包含对二维和三维数据的可视化、图形处理、动画制作等高层次的绘图命令,也包含可以修改图形局部及编制完整图形界面的低层次绘图命令。

这些功能可使用户创建富有表现力的彩色图形,可视化工具包括曲面宣染、线框图、伪彩图、光源、三维等位线图、图像显示、动画、体积可视化等同时MATLAB还提供了句柄图形机制,使用该机制可对图形进行灵活的控制。

使用GUIDE工具可以方便地使用句柄图形创建自己的GUI界面。

四、MATLAB数学函数库[15]

MATALB拥有500多种数学、统计及工程函数,可使用户立刻实现所需的强大的数学计算功能。

这些函数是由各领域的专家学者开发的数值计算程序,使用了安全、成熟、可靠的算法,从而保证了最大的运算速度和可靠的结果。

MATLAB内置的强大数学函数库既包含了最基本的数学运算函数,如求和正弦、余弦等函数,也包含了丰富的复杂函数,如矩阵特征值矩阵求逆傅里叶变换等函数。

五、MATLAB应用程序接口

MATLAB应用程序接口是通过MATLAB的API库完成的,MATLAB通过对API库函数的调用可以与其他应用程序交换数据。

同样,用户也可在其他语言中通过该接口函数库调用MATLAB的程序。

MATLAB应用程序接口中的内容包括实时动态连接外部C或Fortran应用函数,独立C或Fortran程序中调用MATLAB函数输入输出各种MATLAB及其他标准格式的数据文件,创建图文并貌的技术文档,包括MATLAB图形、命令,并可通过word输出。

2.2.2控制系统工具箱介绍

面向控制工程应用一直是MATLAB的主要功能之一,早期的版本就提供了控制系统设计工具箱。

20世纪90年代初的3.5版推出RobustToolBox,4.0版推出基于模块图的控制系统仿真软件Simulink。

到目前为止,MATLAB中包含的控制工程类工具箱己超过十个。

MATLAB所具备的强有力的计算功能和图形表现,以及各种工具箱提供的丰富的专用函数,为设计研究人员避免重复繁琐的计算和编程,更快、更好;更准确地进行控制系统分析和设计提供了极大的帮助。

控制系统工具箱主要函数[16]

一、线性定常系统(LTI)数学模型生成函数

tf():

创建传递函数模型;

ss():

创建状态方程模型;

zpk():

创建零一极点模型;

dss():

创建离散状态方程模型;

get():

获取模型参数信息;

set():

设置模型参数。

二、数学模型转换函数

c2d():

连续系统转换成离散系统;

d2c():

离散系统转换成连续系统;

d2d():

离散系统重新采样。

三、时间响应函数

impulse():

计算并绘制冲击响应;

step():

计算并绘制阶跃响应。

四、频率响应函数

bode():

计算并绘制波特响应;

nichols():

计算奈克尔斯图;

nyquist():

计算奈奎斯特图;

pzmap():

绘制零极点图。

五、控制系统分析与设计图形用户接口

ltiview:

打开定常线性系统(LTI)响应分析窗口;

sisotool:

打开单输入单输出系统(SISO)设计图形用户接口。

六、模型转换函数

tf2zp():

传递函数模型转换为零极点模型;

tf2ss():

传递函数模型转换为状态方程模型;

ss2tf():

状态方程模型转换为传递函数模型;

ss2zp():

状态方程模型转换为零极点模型。

七、其他函数

str2num():

将输入字符串转换为数值;

get(handles.edit,'string'):

读取MATLABGUI控件参数。

 

第3章MATLABGUI简介及应用

3.1MATLABGUI

用户界面(或接口)[17]是指:

人与机器(或程序)之间交互作用的工具和方法。

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

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

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

假如读者所从事的数据分析、解方程、计算结果可视工作比较

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1