MATLAB程序文件PPT课件_第1页
MATLAB程序文件PPT课件_第2页
MATLAB程序文件PPT课件_第3页
MATLAB程序文件PPT课件_第4页
MATLAB程序文件PPT课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验,主讲教师穆志民,matlab软件基础内容。文章排版基本方法。数据绘图及图片处理。大量数据处理基本方法及软件实现。最优化基本方法及软件实现。其他补充。(一些比较高级的建模方法等),学习内容,1、matlab基本操作2、高数中的matlab3、线代中的matlab4、概率方程中的matlab,数学实验使用的软件,1.优化软件:lingo2.数据计算软件:Matlab,Mathematica3.文章的排版软件:word,latex(数学)4.数据统计处理软件:excel,spss,sas5.论文阅读软件:word(.doc),AdobeAcrobat(.pdf),超星阅览器rread(电子书,(.pdg,.pdf),cajview(.kdh,.pdf),第一章matlab基础知识。,1节.matlab简介及其基本内容2节.高等数学中的matlab3节.线性代数中的matlab4节.概率统计中的matlab5节.方程(组)中的matlab6节.数值处理与matlab,1.1.1MATLAB简介MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的CleveMoler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件.归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富.由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习.,由于MATLAB拥有大量的常用数学函数、工具箱,基本包括了现今数学、物理及工程应用领域的常用函数,如能熟练掌握,无论在编程时间或程序量上,都远远低于Fortran、C等高级语言,尤其在处理矩阵和向量计算方面更具有无可比拟的优势。我们在数学建模竞赛中,由于只有短短的三到四天,而论文的评判不仅注重计算的结果更注重模型的创造性等很多方面,因此比赛中把大量的时间花费在编写和调试程序上只会喧宾夺主,是很不值得的,这时使用MATLAB可以很大程度上的方便计算、节省时间,使我们将精力更多的放在模型的完善上,所以是较为理想的。,Matlab的安装Matlab有各种版本,早期有Matlab1.0for386的DOS版本,后来逐步发展这里介绍的版本是Matlab6.xforWindows因为它使用方便,界面美观,我们选择它作为主要讲解版本Matlab还有许多附加的部分,最常见的部分称为Simulink,是一个用作系统仿真的软件包,它可以让您定义各种部件,定义各自对某种信号的反应方式及与其它部件的连接方式最后选择输入信号,系统会仿真运行整个模拟系统,并给出统计数据Simulink有时是作为Matlab的一部分提供的,称为MatlabwithSimulink版本Matlab还有许多工具箱,它们是根据各个特殊领域的需要,用Matlab自身的语言编写的程序集,使用起来非常方便您可以视工作性质和需要购买相应的工具箱常见的工具箱有:,常见的工具箱,MATLAB的运行启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLABCommandWindow).在命令窗内,可以输入命令、编程、进行计算.学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次提醒“敲回车键”.学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun(elementaryfunction)表示,于是,可进一步键入:“helpelfun”,屏幕上将出现“基本数学函数”表.(注意:helpelfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入helpsin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的.,常用控制命令:clc%清屏clear%清变量save%保存变量load%导入变量,一些演示命令:logosurf(peaks(20)等,学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLABDemoWindow)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type(文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法.进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examplesanddemos项,即可进入演示窗口.退出退出Matlab可键入quit或exit或选择相应的菜单中止Matlab运行会引起工作空间中变量的丢失。,MATLAB系统命令,1.1.2变量、语句、矩阵与函数变量,在MATLAB中,变量由字母、数和下划线组成.第一个字符必须是字母.一个变量最多由31个字符组成,并区分大小写.下面是MATLAB中表示特殊量的字符:pi(圆周率)、eps(最小浮点数)、Inf(正无穷大)、NaN(表示0/0或inf-inf等不定值)、i,j(虚数单位)语句,Matlab的表述语句、变量的类型说明由Matlab系统解释和判断Matlab语句通常形式为:变量=表达式或者使用其简单形式为:表达式表达式由操作符或其它特殊字符、函数和变量名组成表达式的结果为一个矩阵,显示在屏幕上,同时保存在变量中以留用如果变量名和“=”省略,则具有ans名(意思指回答),的变量将自动建立例如:键入1900/81结果为:ans=23.4568需注意的问题有以下几点:*语句结束键入回车键,若语句的最后一个字符是分号,即“;”,则表明不输出当前命令的结果*如果表达式很长,一行放不下,可以键入“”(三个点,但前面必须有个空格,目的是避免将形如“数2”理解为“数2.”与“.”的连接,从而导致错误),然后回车*变量和函数名由字母加数字组成,但最多不能超过63个字符,否则系统只承认前63个字符*Matlab变量字母区分大小写,如A和a不是同一个变量,函数名一般使用小写字母,如inv(A)不能写成INV(A),否则系统认为未定义函数,矩阵方式输入A=2,35;357;458%矩阵输入(a为2*3阶矩阵)b=3;5;7%矩阵输入det(A)%方阵行列式inv(A)%方阵的逆x=Ab%ax=b方程组的解y=inv(A)*b%与x相同disp(a,b,x)%显示矩阵,矩阵,MATLAB的变量及数组均是以向量或矩阵方式存储,MATLAB中矩阵的输入方法如下:A=a11,a1n;am1,amn.逗号是同一行数之间的分隔符(也可用空格代替);分号是不同行的分隔符.,MATLAB中基本代数运算符,运算符号举例加法,a+b+5+3减法,a-b-5-3乘法,ab*5*3除法,ab/or48/4=448=12乘幂,ab52=25,MATLAB中向量(数组)、矩阵基本运算符加法,A+B+12+34=1+32+4减法,A-B-12-34=1-3,2-4乘法,A*B*1,2*3;4=11A.*B.*1,2.*3,4=3,8除法,A/B(AB)/1,2;34/1,4;9,16=0.1,0.1;-0.60.4A./B(A.B)./1,2;34./1,2;3,2=1,1;1,2乘幂,方阵的幂1,2;342=710;15,22元素的幂.1,2;34.2=1,4;9,16,例:我们要计算,可键入:y=sin(pi/6)得y=0.5000如果我们键入:x=0,pi/6,pi/3,pi/2,2*pi/3,5*pi/6,pi;y=sin(x),得y=00.50000.86601.00000.86600.50000.0000这里,对于x有更简洁的输入方法:x=0:pi/6:pi,此命令表示x从0开始,以pi/6为步长变到pi为止.如果我们键入:x=0,pi/6;pi/3,pi/2;y=sin(x)得y=00.50000.86601.0000其它的函数的用法与此类似.,MATLAB中符号函数的表示,函数,MATLAB提供了大量的函数.可以通过help查询.例如sqrt(开方)、log(常用对数)、log10(以10为底的对数)、sin(正弦)等.,MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度sqrt(x):开平方round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数(Signumfunction)。当x0,sign(x)=1。rem(x,y):求x除以y的余数gcd(x,y):整数x和y的最大公因数lcm(x,y):整数x和y的最小公倍数exp(x):自然指数pow2(x):2的指数log(x):以e为底的对数,即自然对数或log2(x):以2为底的对数log10(x):以10为底的对数,MATLAB常用的三角函数sin(x):正弦函数cos(x):馀弦函数tan(x):正切函数asin(x):反正弦函数acos(x):反余弦函数atan(x):反正切函数atan2(x,y):四象限的反正切函数sinh(x):超越正弦函数cosh(x):超越馀弦函数tanh(x):超越正切函数asinh(x):反超越正弦函数acosh(x):反超越馀弦函数atanh(x):反超越正切函数,finverse(f)反函数,输出格式任何Matlab语句执行结果都可在屏幕上显示,同时赋给指定的变量,没有指定变量时赋给ans数字显示格式可由format命令来控制(Windows系统下的Matlab系统的数字显示格式可以由Option菜单中的NumericalFormat菜单改变)format仅影响矩阵的显示,不影响矩阵的计算与存贮(Matlab以双精度执行所有的运算)首先,如果矩阵元素是整数则矩阵显示就没有小数,如x=-101,结果为:x=-101如果矩阵元素不是整数则输出形式有:(用命令:format格式进行切换),MATLAB中关系和逻辑运算,1关系运算符大于,=大于等于,=等于,=不等于运算法则:如果两个比较量a、b是标量,那么,当a、b之间的关系成立时输出值为1;否则输出值为0.如果两个比较量a、b是相同维数的数组,那么就按标量的运算法则,对a、b的对应元素进行运算,最后的输出结果为一个与a(或b)同维的01数组.如果a是标量,b是数组,那么按标量的运算法则将a与b的每个元素逐一比较,最后的输出结果为一个与b同维的01数组.在算术运算、关系运算中,算术运算优先.,2逻辑运算符a=yb=t,例:交换两个变量的值myswap.m,有两个输入参数和两个输出参数,clearclca=3,b=4,X=a;a=b,b=X%交换a,b值,函数文件,命令文件,命令文件的创建和运行:在MATLAB的命令窗口点击“新建”工具栏或在“file”下拉菜单中选“New”中的“M-file”项,进入编辑/调试器.例计算所有小于1000的Fibonnaci数.%计算小于1000的Fibonnaci(斐波那契数列)数clearclcf=1,2;i=1;whilef(i)+f(i+1)1000f(i+2)=f(i)+f(i+1);i=i+1;endf,i在“file”下拉菜单中选“Save”项,依提示输入文件名“fibno”至此,完成了命令文件fibno.m的创建.,function输出形参列表=函数名(输入形参列表)%注释说明部分(可选)函数体语句(必须),第一行为引导行,表示该M文件是函数文件函数名的命名规则与变量名相同(必须以字母开头)当输出形参多于一个时,用方括号括起来以百分号开始的语句为注释语句,函数文件创建,函数文件由function语句引导,函数文件名必须与函数名一致函数必须是一个单独的M文件,functionf=ffibno(n)f=1,1;i=1;whilef(i)+f(i+1)nf(i+2)=f(i)+f(i+1);i=i+1;endf在“file”下拉菜单中选“Save”项,依提示输入文件名“ffibno”至此,完成了函数文件ffibno.m的创建.执行ffibno.在MATLAB窗口中输入ffibno(1000)并敲回车键即可.,例如:一个自编的函数文件mean.m,用于求向量的(或矩阵按列的)平均值functiony=mean(x)%MEANAverageormeanvalue,ForVectors,%MEAN(x)returnsthemeanvalue%FormatrixMEAN(x)isarowvector%containingthemeanvalueofeachcolumnm,n=size(x);ifm=1m=n;endy=sum(x)/m;磁盘文件中定义的新函数称为mean函数,它与Matlab函数一样使用,例如z为从1到99的实数向量:z=1:99;计算均值:mean(z)ans=50mean.m程序的说明:(1)第一行的内容:函数名,输入变量,输出变量,没有这行这个文件就是命令文件,而不是函数文件(2):表明右边的行是说明性的内容注释前一小部分行来确定M文件的注释,并在键入helpmean后显示出来显示内容为连续的若干个右边的文字(3)变量m,n和y是mean的局部变量,在mean运行结束后,它们将不在工作空间z中存在如果在调用函数之前有同名变量,先前存在的变量及其当前值将不会改变,MATLAB编程语句,1控制语句MATLAB也有控制流语句,用于控制程序的流程.主要有for循环、while循环、if和break三种控制语句.虽然语句很少,但功能很强.for循环语句for循环语句的一般表达形式为:fori=表达式可执行语句1可执行语句nend,作用:重复执行命令集commands,格式:fori=n1:(step):n2commands;end,例:求S=1+2+3+50,可编程如下:s=0;fork=1:50s=s+k;end,while循环while循环语句用来控制一个或一组语句在某逻辑条件下重复预先确定或不确定的次数.while循环语句的一般表达形式为:while表达式循环体语句end,例:求S=1+2+3+50,可编程如下:S=0;k=0;whilek51S=S+k;k=k+1;%当条件kepk=k+1;x=exp(-x0);dx=abs(x-x0)/(1+abs(x);x0=x;end,if和break语句MATLAB中if和break语句的作用与使用方式同其它编程语言一样,用来将控制流程进行分流与中断退出.例:可以把上面的解方程的例子中的循环语句改写成:x0=0;while(1)k=k+1;x=exp(-x0);dx=abs(x-x0)/(1+abs(x);ifdx=epsbreak;endx0=x;end程序中while(1)说明循环条件总是真,直到满足dx=eps条件跳出循环体.,ifelseend分支结构分支结构有三种形式:if表达式执行语句end如果表达式的值非0,则执行下面的语句.否则执行end后面的语句.if表达式执行语句1else执行语句2end,if表达式1执行语句1elseif表达式2执行语句2elseif表达式3执行语句3else(此句可以省略)执行语句nend,例:函数,ifx=1end,可编如下的程序:,x=input(x=),fprintf(y=%.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论