您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > matlab在高等数学中的应用
第1章MatLab入门本章学习的主要目的:1.了解MatLab软件的功能,熟悉MatLab软件的各菜单、工具栏及常用命令的使用。2.掌握MatLab有关矩阵的创建方法、矩阵的基本运算符、矩阵的计算函数。3.掌握MatLab的符号运算。1.1MatLab语言概述1.1.1MatLab语言的发展MatLab语言是由美国的CleverMoler博士于1980年开发的。设计者的初衷是为解决“线性代数”课程的矩阵运算问题取名MatLab即MatrixLaboratory矩阵实验室的意思。它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相结合。1.1.2MatLab的功能1.矩阵运算功能MatLab提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。例如C=A+B,A,B,C都是矩阵,是矩阵的加运算,即使一个常数,Y=5,MatLab也看做是一个11的矩阵。2.符号运算功能符号运算即用字符串进行数学分析,允许变量不赋值而参与运算,用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。3.丰富的绘图功能与计算结果的可视化具有高层绘图功能——两维、三维绘图;具有底层绘图功能——句柄绘图;使用plot函数可随时将计算结果可视化。4.图形化程序编制功能动态系统进行建模、仿真和分析的软件包;用结构图编程,而不用程序编程;只需拖几个方块、连几条线,即可实现编程功能。5.丰富的MatLab工具箱MatLab主工具箱;符号数学工具箱;SIMULINK仿真工具箱;控制系统工具箱;信号处理工具箱;图象处理工具箱;通讯工具箱;系统辨识工具箱;神经元网络工具箱;金融工具箱。6.MatLab的兼容功能可与C语言、FORTRAN语言跨平台兼容;用函数CMEX、FMEX实现。7.MatLab的容错功能非法操作时,给出提示,并不影响其操作。例如在命令窗口输入1/0,执行结果显示如下,提示被0除,结果为无穷大。Warning:Dividebyzeroans=Inf8.MatLab的开放式可扩充结构MatLab所有函数都是开放的;用户可按自己意愿随意更改;正因为此功能,使得MatLab的应用越来越广泛。9.强大的联机检索帮助系统可随时检索MatLab函数;可随时查询MatLab函数的使用方法。1.1.3MatLab的应用.1.工业研究与开发。2.数学教学,特别是线性代数。3.数值分析和科学计算方面的教学与研究。4.电子学、控制理论和物理学等工程和科学学科方面的教学与研究。5.经济学、化学和生物学等计算问题的所有其他领域中的教学与研究。1.2MatLab的使用1.2.1MatLab的启动(1)进入MatLab工作环境:方法1开机执行程序MatLab安装目录\MatLab.exe方法2用鼠标双击MatLab图标方法3点击windows窗口的开始----程序----MatLab(2)退出MatLab工作环境:方法1点击file菜单下的exitMatLab方法2点击MatLab窗口的关闭按钮.1.2.2MatLab的界面MatLab的界面上有五个窗口,它们是:(1)命令窗口在命令窗口中可以直接输入命令行,以实现计算或绘图功能,用clc命令清除命令窗口的内容,命令pause暂停操作,直至按任意键继续。(2)起始面板该窗口中显示MatLab总包和已安装的工具箱的帮助、演示、GUI工具和产品主页方面的内容。(3)工作空间该窗口中显示当前MatLab的内存中使用的变量的信息,包括变量名、变量数组大小、变量字节大小和变量类型。在该窗口选定某个变量后,双击变量名,将打开数组编辑器窗口,可以显示和修改该变量的具体内容,该显示主要用于数值型变量。(4)命令历史该窗口显示所有执行过的命令。利用该窗口,一方面可以查看曾经执行过的命令;另一方面可以重复利用原来输入的命令行,这只需在命令历史窗口中直接双击某个命令即可。(5)当前目录该窗口显示当前工作目录下所有文件的文件名、文件类型和最后修改时间。可以在该窗口上方的小窗口中修改工作目录。1.2.3MatLab的运行方式MatLab提供了两种运行方式:命令行方式和M文件方式.(1)命令行运行方式通过直接在命令窗口中输入命令行来实现计算或作图功能。但这种方式在处理复杂的问题和大量数据时相当困难。(2)M文件运行方式是在一个以m为扩展名的M文件中输入一系列数据和命令,然后让MatLab执行这些命令。MatLab的M文件有两种类型:脚本M文件和函数M文件。脚本文件就是命令的简单叠加,没有输入和输出参数,运行产生的所有变量是全局变量。函数M文件有输入和输出参数,可以弥补MatLab的内部函数有限的不足,自定义新的函数,所有变量除特殊声明外,都是局部变量。1.2.4MatLab的数(1)MatLab操作的数的范围为复数,表示为a+bi或a+bj例1求1-的值。输入sqrt(-1)执行结果:ans=0+1.0000i例2设复数ieziziz63212,21,43,计算321zzzz。输入指令:z1=3+4i,z2=1+2*i,z3=2*exp(i*pi/6),z=z1*z2/z3执行结果:z1=3.0000+4.0000iz2=1.0000+2.0000iz3=1.7321+1.0000iz=0.3349+5.5801i例3复数矩阵的生成。输入指令:A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]执行结果:A=1.0000-5.0000i3.0000-8.0000i2.0000-6.0000i4.0000-9.0000iB=1.0000+5.0000i2.0000+6.0000i3.0000+8.0000i4.0000+9.0000i例4求上例复数矩阵A的实部、虚部、模和相角。输入指令:A_real=real(A)A_imag=imag(AC)A_magnitude=abs(A)A_phase=angle(A)*180/pi%以度为单位计算相角执行结果:A_real=1324A_imag=-5-8-6-9AC_magnitude=5.09908.54406.32469.8489A_phase=-78.6901-69.4440-71.5651-66.0375例5用MatLab计算38能得到–2吗?输入指令:a=-8;r=a^(1/3)执行结果如下,输出的是其中的一个根:r=1.0000+1.7321i(2)数据显示格式format默认值shortformatshort保证小数点后有四位有效数字formatshorte用5位科学计数法表示formatshortg用15位科学计数法表示formatlong用15位数字表示formatlonge用15位科学计数法表示formatrat用近似的有理数表示formatloose输入命令和回显之间加空行formatcompact输入命令和回显之间不加空行(3)数据计算精度控制:digits(n)限制在可控精度运算中取n位有效数字进行计算.1.2.5MatLab的变量(1)变量的命名规则变量名是以字母开头,可以包含字母,数字或下划线的不超过31个字符的字符串,区分大小写,如myfile和Myfile是两个不同的变量。(2)特殊变量(不能重新赋值)ans对于未赋值的运算结果,自动赋给ans变量eps机器零阈值inf或Inf表示正无穷大,定义为1/0i,j虚数单位NaN非数,它产生于0×,0/0,/等运算nargin函数输入变量数目nargout函数输出变量数目pi圆周率realmin最小可用正实数realmax最大可用正实数(3)变量的查询函数who与whos作用都是列出在MatLab工作空间中已经驻留的变量名清单,不同的是whos在给出驻留变量的同时,还给出它们的维数及性质。如在命令窗口输入who后,显示Yourvariablesare:AB在命令窗口输入whos后,显示NameSizeBytesClassA2x2230cellarrayB1x1264structarray(4)变量的删除在命令窗中运用clear指令可以删除内存中指定的变量,格式:clear变量名,若不写变量名,缺省变量全部被删除。(5)变量的的保存与获取把MatLab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。mat文件是标准的二进制文件,还可以以ASCII码形式保存。用命令save保存变量,用load恢复已保存的变量。具体格式:save将工作空间中所有的变量存到MatLab.mat文件中。savedata将工作空间中所有的变量存到data.mat文件中。savedataab将工作空间中a和b变量存到data.mat文件中。可用load指令调用已生成的mat文件。load将MatLab.mat文件中的变量恢复到工作空间中。loaddata将data.mat文件中的变量恢复到工作空间中。loaddataab将data.mat文件中的变量a,b恢复到工作空间中。例6假定内存中已经存在变量X,Y,Z(a)保存变量X,Y,X变量在文件saf.mat中。savesafXYZ%保存变量X,Y,X变量在文件saf.mat中dir%显示当前目录下的文件...saf.mat(b)从文件saf中恢复变量Zclear%删除内存中所有变量loadsafZ%恢复变量Zwho%查看变量Yourvariablesare:Z1.2.6MatLab的矩阵和向量MatLab是一种直译式的高级语言,建立在向量、数组和矩阵的基础上,矩阵是MatLab的核心。(1)创建矩阵方法1直接输入法规则:矩阵元素必须用[]括住;矩阵元素必须用逗号或空格分隔;在[]内矩阵的行与行之间必须用分号或回车分隔;矩阵元素可以是任何实数或复数,MatLab表达式,复数可用特殊函数i,j输入。例7生成一个实数矩阵和复数矩阵输入指令:a=[1,2,3;4,5,6],x=[2,pi/2;sqrt(3),3+5i]执行结果:a=123456x=2.00001.57081.73213.0000+5.0000i方法2用MatLab函数创建矩阵空阵[]MatLab允许输入空阵,当一项操作无结果时,返回空阵。zeros(n,m)生成n行m列的零矩阵。ones(n,m)生成n行m列的全1矩阵。eye(n,m)生成n行m列对角线元素全为1其它元素为0的矩阵。rand(n,m)生成(0,1)均匀分布的n行m列的随机矩阵。randn(n,m)生成正态分布的n行m列的随机矩阵magic(n)n阶幻方矩阵。n=1,3,4,5......pascal(n)n阶杨辉三角形矩阵diag(v,k)生成和提取对角阵。diag(v)当v为矩阵时,提取矩阵的对角元生成一个向量;当v为向量时,用向量的元素单位矩阵eye(n)为对角元生成同维数的对角矩阵。triu(v,k)生成和提取上三角阵。tril(v,k)生成和提取下三角阵。repmat(a,m,n)生成m×n分块矩阵,每块元素为a矩阵。方法3在M-文件中用MatLab语句创建一个矩阵。如创建和保存矩阵AM的MyMatrix.m文件。AM=[101,102,103,104,105,106,107,108,109;...201,202,203,204,205,206,207,208,209;...301,302,303,304,305,306,307,308,309];方法4从一个外部数据文件中装载并创建一个矩阵。把下面的数据保存在一个文本文件a.txt中123234在命令窗口中输入loada.txt,则在内存中生成2×3矩阵变量a。(2)向量的生成方法同矩阵的生成;冒号:运算j:k生成向量[j,j+1,j+2,…,k]j:i:k生成向量[j,j+i,j+2i,…,k-rem((k-j),i)],如a=1:2:6生成a=[135]linspace(a,b,n)从a到b的n个线性等分数组l
本文标题:matlab在高等数学中的应用
链接地址:https://www.777doc.com/doc-4851934 .html