数学建模资料合集Word文档格式.docx
《数学建模资料合集Word文档格式.docx》由会员分享,可在线阅读,更多相关《数学建模资料合集Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
基本统计分析、定义表、比较平均数;
一般线性模式;
相关分析;
回归分析、逻辑线性分析、聚类和判别分析、因子分析、非参数检验、时间序列、比例、多元反应等。
高级程序语言种类较多,如C、C++、C#、Basic、Delphi和Java等。
将一些图表加入附件可以为文章增色。
数学软件只能绘制已知函数的图形,若是要绘制一个大致的图形,就必须使用绘图软件。
可以使用几何画板、Photoshop、Flash等。
近年来的数学建模竞赛几乎所有的竞赛题目都涉及大量的计算或逻辑运算,因此不掌握计算机和相关数学软件的使用是难以取得好成绩的;
又由于竞赛题目来自不同的领域,事先又不了解,而利用Internet可以迅速查到相关资料,这也有助于在竞赛中取得好成绩,由此可见,计算机和数学建模之间具有密不可分的联系,两者的有机结合,有效的提高了高校学生灵活运用理论知识的能力、知识的迁移能力、实际应用能力以及分析问题和解决问题。
建模进行对事件的处理,有利于计算机相关软件的开发。
更待于我们采用什么新的方法更好解决软件的不足,这样就必须我们用计算机解决实际问题。
MATLAB在计算机控制系统中的应用
摘要:
计算机控制技术是电气自动化的专业必修课,涉及的专业知识面很广,是一门理论和实践紧密结合,综合性很强的课程,而MATLAB软件在数值分析、矩阵运算、信号处理、自动控制、优化设计等方面得到广泛应用,在控制领域的应用尤为重要。
将MATLAB引入计算机控制技术的课程教学内容中有着十分重要的作用,诸如模拟控制器的离散化参数计算、响应曲线的描绘和控制系统仿真等应用.在MATLAB语言中,可方便地输入连续系统的传递函数;
可求系统零极点;
可绘制频率特性曲线;
可进行自动控制系统仿真等。
关键词:
MATLAB、Simulink、PID、滤波控制器、传递函数
正文:
《计算机控制技术》课程和MATLAB概述
1《计算机控制技术》课程的特点、性质及目的
《计算机控制技术》是计算机技术、自动控制技术、自动检测与传感技术相结合的综合应用技术,是自动化专业的一门主要专业课,具有承上启下的作用。
它涉及的基础理论和知识面较广,知识集成度高,牵涉电气、计算机、自动控制理论等综合知识,在专业课程体系中占举足轻重的地位。
正确处理本课程与其他课程的关系以及它们之间的内在联系,形成完整而系统的知识体系,是本课程的主要作用。
在讲课中,综合有关课程的基本内容,将我们学生学到的知识,通过本课程有机和谐地结合在一起,也是本课程教学中责无旁贷的任务。
我们学生在学完本课程后,应了解并掌握如何合理地选择和组织计算机控制系统的软件、硬件、外围设备和接口通道以及控制管理生产过程的基本原理和方法,将控制对象、硬件(计算机、传感器、通道和接口、执行机构)和软件(系统软件以及各种应用软件)组织成一个有机的整体,形成完整的计算机控制系统,达到预定的控制目的,再结合其他课程内容可使我们具备一定的开发计算机控制系统的能力。
2MATLAB软件概述
MATLAB是目前世界上最流行的、应用最广泛的工程计算和软件仿真,它将计算、可视化和编程等功能同时集于一个易于开发的环境。
MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。
它是一个交互式开发系统,其基本数据要素是矩阵。
它的语法规则简单,适合于专业科技人员的思维方式和书写习惯;
它用解释方式工作,编写程序和运行同步,键入程序立即得出结果,因此人机交互更加简洁和智能化;
而且MATLAB可适用于多种平台,随着计算机软、硬件的更新而及时升级,使得编程和调试效率大大提高。
目前,MATLAB已经成为应用代数、自控仿真理论、数理统计、信号处理和动态系统仿真的基本数学工具,成为学生必须掌握的基本软件之一。
MATLAB具有以下特点:
2.1运输功能强大
MATLAB是以矩阵为基本编程元素的程序设计语言,它的数值运算要素不是单个数据而是矩阵,每个变量代表一个矩阵。
通过MATLAB的符号工具箱,可以解决在数学、应用科学和工程计算领域中常常遇到的符号计算问题。
2.2编程效率高
MATLAB是以解释方式工作的,即它对每条语句解释后立即执行,键入算式无需编译立即得出结果,若有错误也立即做出反应,便于编程者立即改正,这大大减轻了编程和调试的工作量,提高了编程效率。
2.3强大而智能化的作图功能
MATLAB可以方便地用图形显示二维或三维数组,将工程计算的结果可视化,使数据间的内在联系清晰明了。
它能智能化地根据输入的数据自动确定最佳坐标,可规定多种坐标系,可设置不同颜色、线型、视角等。
2.4可扩展性强
MATLAB有一套程序扩展系统和工具箱,具有良好的可扩展性。
工具箱是MATLAB函数的子程序库,每个工具箱都是为某个学科领域的应用而定制的。
2.5Siulink动态仿真功能
Simulink是一个交互式动态系统建模、仿真和分析图形环境,用户通过框图的绘制来模拟一个系统,Simulink能够针对控制系统、信号处理和通信系统等进行系统建模、仿真和分析。
二MatLab在《计算机控制技术》中的应用举例
1离散系统的差分方程分析
对于采样周期远小于被控对象时间常数的生产过程,把离散时间系统近似为连续时间系统就可达到满意的控制效果。
但是当采样周期并不是远小于对象的时间常数或对控制的质量要求比较高时,如果仍然把离散时间系统近似为连续时间系统,必然与实际情况产生很大差异,在这种情况下应根据采样控制理论直接设计数字控制器,它比模拟化设计具有更一般的意义,完全根据采样系统的特点进行分析与综合,并导出相应的控制规律。
最少拍无差系统设计是最常见的一种设计方法,要求闭环系统对于某种特定的输入在最少个采样周期内达到无静差的稳态。
1.1公式推导和手工计算
设被控对象的传递函数Gc(s)=10/s(Ts+1),T=Tm=0.025s
图1传递函数模型
广义对象的传递函数为:
代入采样时间周期T=Tm=0.025s,
计算机要实现的数字控制器的脉冲传递函数:
系统的输出序列:
数字控制器的输出序列:
1.2数字控制器的MATLAB实现
从最少拍控制器理论的公式推导和计算过程可以看出,用手工计算的方法过程繁琐、计算量大而且容易出错,如果采用MATLAB工具则整个过程快速简便,有助于学生对设计方法的理解和记忆,为此在MATLAB中建立了系统的仿真模型,如下图所示:
图2有纹波系统的MATLAB仿真模型
图3系统输出仿真波形
从图3的仿真结果可以看出按快速有纹波系统设计方法所设计出来的系统,其输出值跟随输入值后,在非采样时刻有纹波存在,原因在于数字控制器的输出序列经若干拍数后,不为常值或零,而是振荡收敛的。
非采样时刻的纹波现象不仅造成系统在非采样时刻有偏差,而且浪费执行机构的功率,增加机械磨损。
从本例可以看出,如果没有MATLAB仿真工具的应用,只从数学上的公式推导和理论计算,学生是很难理解和掌握数字控制器的设计方法的。
因此在计算机控制系统课程的教学中,利用MATLAB软件提供的控制系统工具箱和动态系统仿真工具Simulink,通过建模、仿真、编程,将课本中呆板的推导和静态的图示变成了活的系统,可以生动地演示出参数变化对系统的影响,使学生提高了学习兴趣,加深了对课本的理解,弥补了实验条件的不足,促进了教学效果的提高。
2数字滤波器设计
数字滤波器设计的目的是对输人信号进行数据序列的频率变换,去掉其中我们不需要的频率成分,变换成输出序列。
例如,采样频率是100Hz,设计一个高通滤波器。
0一250Hz为阻频带,其最小衰减为60db,350Hz到50Hz为通频带,其波动不超过3db,画出频率响应图。
若用作图法去做,不但很难实现,而且误差大。
但用Matlab的M程序就很容易实现,而且响应的曲线图清晰、直观。
其中的M程序如下:
elear
wp=350/50%通频带
ws=250/500%过渡带
(n,wn)=butord(wp,ws,3,60)%计算滤波器的最低阶次和截止频率
[b,a]=buter(n,wn,'
high'
)%高通滤波器计算阶次和截止频率
freqz(b,a,128,l000)%滤波器频率响应
End
运行结果:
滤波器的阶次为1次,截止频率为0.6879。
滤波器频率响应如图8,从图中频率响应(Mag-nitude图)可以看出滤波器的通频带为一几乎水平的线,而Phase为滤波器的相位特性描述,这种仿真方法简单明了。
图4高通滤波器响应曲线
三、结束语
MATLAB是一款强大的控制系统仿真软件,几乎能对所有当今最先进的控制技术仿真,其仿真生动、直观、形象。
通过形象的仿真分析,可以将控制规律作比较全面、深人的演示。
在课堂教学中引入MATLAB系统仿真,可加深学生对各种控制规律的内在意义的理解。
把MATLAB语言应用于《计算机控制系统》教学中,可以起到如下作用:
1.根据给出的被控对象函数对整个系统进行分析和设计,在传统方法的求解过程中,需要用到很多数学知识,也增加了很多的计算量,而且在求解的过程中,如同解数学题的感觉,造成计算机控制理论和工程实践的电路图脱节。
2.一些工程实际问题用传统的教学方式不易讲深讲透,而借助于MATLAB软件程序,就可在课堂上进行形象生动的仿真分析,便于学生对概念的深入理解和掌握,提高教学效率。
3.充分利用Simulink这一强大的仿真模块,用于系统分析,无须编程,系统的连接全部实行拖放式操作,操作简便,分析结果直观,可以生动、形象地将对系统的静态和动态性能显示出来,进行分析和调试,其实验结果可用来指导实际系统的设计。
参考文献
[1]李正军.计算机控制系统[M].北京:
机械工业出版社,2005.
[2]赖寿宏.微型计算机控制技术[M].北京:
清华大学出版社,2008.
[3]曹弋.MATLAB教程及实训[M].北京:
机械工业出版社,2009.
[4]吴晓莉,林哲辉.MATLAB辅助模糊系统设计[M].西安:
西安电子科技大学出版社,2002.
[5]张晋格.控制系统基于Matlab语言[M].北京:
机械工业出版社,2004.
[6]姜学军.计算机控制技术[M].北京:
清华大学出版社,2005.
MatLab&
数学建模
第一讲MatLab简介及基本运算
一、MatLab简介
MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。
那是20世纪七十年代后期的事:
时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由Little、Moler、SteveBangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。
从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。
MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。
在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
这几乎成了九十年代教科书与旧版书籍的区别性标志。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国NationalInstruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。
MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。
以下为其几个特色:
功能强的数值运算-在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。
先进的资料视觉化功能-MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。
高阶但简单的程式环境-作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用FORTRAN或C的几分之一,而且不需要编译(compile)及联结(link)即能执行,同时包含了更多及更容易使用的内建功能。
开放及可延伸的架构-MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使MATLAB成为使用者所须要的环境。
丰富的程式工具箱-MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。
现有工具箱有:
符号运算(利用MapleV的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。
二、MatLab界面
MATLAB系统命令
命令
含义
help
在线帮助
helpwin
在线帮助窗口
helpdesk
在线帮助工作台
demo
运行演示程序
ver
版本信息
readme
显示Readme文件
who
显示当前变量
whos
显示当前变量的详细信息
clear
清空工作间的变量和函数
pack
整理工作间的内存
load
把文件调入变量到工作间
save
把变量存入文件中
quit/exit
退出MATLAB
what
显示指定的matlab文件
lookfor
在HELP里搜索关键字
which
定位函数或文件
path
获取或设置搜索路径
echo
命令回显
cd
改变当前的工作目录
pwd
显示当前的工作目录
dir
显示目录内容
unix
执行unix命令
dos
执行dos命令
!
执行操作系统命令
computer
显示计算机类型
在MATLAB系统中使用帮助方式有三:
是利用help指令,如果你已知要找的题材(topic)为何的话,直接键入help<
topic>
。
所以即使身旁没有使用手册,也可以使用help指令查询不熟悉的指令或是题材之用法,例如helpsqrt
是利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出所有相关的题材,例如lookforcosine,lookforsine。
是利用指令视窗的功能选单中的Help,从中选取TableofContents(目录)或是Index(索引)。
三、基本数学运算
在MATLAB下进行基本数学运算,只需将运算式直接打在提示号>
>
后面,并按入Enter键即可。
MATLAB将计算的结果以ans显示。
【例】求
的算术运算结果。
(1)用键盘在MATLAB指令窗中输入以下内容
(12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans=
2
我们也可给运算式的结果设定一个变量x:
x=(5*2+1.3-0.8)*10^2/25
x=
42
变量x的值可以在下个语句中调用:
y=2*x+1
y=
85
变量命名规则:
1.
变量名的大小写是敏感。
2.
变量的第一个字符必须为英文字母,而且不能超过31个字符。
3.
变量名可以包含下连字符、数字,但不能为空格符、标点。
系统预定义的变量
ans
预设的计算结果的变量名
eps
MATLAB定义的正的极小值=2.2204e-16
pi
内建的π值(=3.1415926...)
inf
∞值,无限大(
)
NaN
无法定义一个数目(
i或j
虚数单位i=j=
nargin
函数输入参数个数
nargout
函数输出参数个数
realmax
最大的正实数
realmin
最小的正实数
flops
浮点运算次数
而键入clear则是去除所有定义过的变量名称。
表达式
MATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。
如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如:
1*2+3*4+5*6+7*8+9*10+11*12+...
13*14+15*16
744
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;
)即可,如下例:
y=1034*22+3^5;
若要显示变数y的值,直接键入y即可:
y
22991
MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。
例:
计算圆面积Area=
半径r=2,则可键入
r=2;
%圆半径r=2,
area=pi*r^2;
%计算圆面积area
area=
12.5664
MATLAB提供基本的算术运算有:
加(+)、减(-)、乘(*)、除(/)、幂次方(^),范例为:
5+3,5-3,5*3,5/3,5^3
MATLAB常用数学函数
三角函数和双曲函数
名称
含义
sin
正弦
csc
余割
atanh
反双曲正切
cos
余弦
asec
反正割
acoth
反双曲余切
tan
正切
acsc
反余割
sech
双曲正割
cot
余切
sinh
双曲正弦
csch