首页 第二章 MATLAB的数值计

第二章 MATLAB的数值计

举报
开通vip

第二章 MATLAB的数值计第二章MATLAB的数值计算功能教学目标: 介绍MATALAB的两种数值运算:矩阵和表达式学习要求 掌握矩阵和多项式的构造和运算方法,能够使用常用的几种函数进行简单的问题求解。1.1基本概念 变量 数值 矩阵 数组,向量 函数 运算符 MATLAB的语句1.1.1变量 变量由变量名表示,命名应遵循如下规则:①变量名必须以字母开头②变量名可以由字母、数字和下划线混合组成③变量名区分字母大小写(表示π:pi,PI)④变量名的字符长度不应超过63个。 MATLAB使用变量时不需要预先对变量进行说明,MATLAB会自...

第二章 MATLAB的数值计
第二章MATLAB的数值计算功能教学目标: 介绍MATALAB的两种数值运算:矩阵和 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式学习要求 掌握矩阵和多项式的构造和运算方法,能够使用常用的几种 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 进行简单的问题求解。1.1基本概念 变量 数值 矩阵 数组,向量 函数 运算符 MATLAB的语句1.1.1变量 变量由变量名表示,命名应遵循如下 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf :①变量名必须以字母开头②变量名可以由字母、数字和下划线混合组成③变量名区分字母大小写(表示π:pi,PI)④变量名的字符长度不应超过63个。 MATLAB使用变量时不需要预先对变量进行说明,MATLAB会自动根据所输入的数据来决定变量的数据类型和分配存储空间。 MATLAB默认的预定义变量 例:a=‘happy’;b=3; 指出:①自定义变量名一般不应和系统变量同名。②在MATLAB中输入的内容直接决定变量的类型。③使用who和whos命令可以查看变量。④使用clear命令可以删除所有定义过的变量。如果只是删除其中某些变量,应在clear后面指定要删除的变量名。例如clearaz⑤有了变量,就可以组成表达式,也就可以对变量进行赋值。MATLAB的赋值语句有两种形式。●变量名=表达式●表达式在第一种情况下,MATLAB将右边的表达式的值赋值给左边的变量,在第二种情况,MATLAB将表达式的值赋值给系统变量ans。⑥所谓表达式,就是用运算符号把特殊字符、函数名、变量名等有关运算量连接起来的式子,其结果是一个矩阵。1.1.2数值 在MATLAB中每一个数据元素都是用双精度来表示和存储的,有效范围为 但是在进行输入输出时,MATLAB可以采用不同的 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 。默认格式为short格式。 可以采用下面两种语句来改变输出格式 Formatshort(e) Formatlong(e) 虚数单位为i、j(),例a=1+2i。1.1.3MATLAB语句 MATLAB语句采用命令行形式的表达式语言,每一条命令行就是一条语句。 采用以下两种形式 表达式 变量=表达式[例]求[12+2×(7-4)]÷32的运算结果。键盘在指令窗输入下面一行指令,然后按下Enter键。>>(12+2*(7-4))/3^22) 等待指令执行完毕,MATLAB指令窗显示运算结果。ans= 2函数 MATLAB为用户提供了丰富且功能各异的函数,用户可以直接调用这些函数来进行数据处理。 函数调用的格式:函数名(参数) 例:a=sin(b),表示计算b的正弦值并将其赋值给变量a。 数学函数 机器函数pause程序将暂时停在该函数所在位置,击任意键程序继续执行echoon在命令窗口显示正在执行的程序指令cputime给出MATLAB所耗用的总机器时间clock给出日期及当前时间 指出在表达式中,函数一定要出现在等式的右边。每个函数对其自变量的个数和格式都有一定要求,如三角函数的单位是“弧度”而不是“度”。函数允许嵌套,如sqrt(sin(10))。系统函数的函数名小写。注意函数名也是区分大小写的。1.1.4矩阵(P19) 矩阵时MATLAB进行数据处理和运算的基本元素。 通常意义上的数量(标量)在MATLAB系统中是作为1×1的矩阵来处理,仅有一行或着一列的矩阵在MATLAB中称为向量。1.1.4.1创建矩阵 直接输入法创建矩阵 矩阵的所有元素必须放在方括号“[]”内; 矩阵列元素之间必须用逗号“,”或空格隔开,每行必须用“;”隔开 矩阵元素可以是任何不含未定义变量的表达式。可以是实数,或者是复数。 例a=[1,2;3,4]或a=[21+3j;sqrt(4)5]2行2列的矩阵1.1.4.2利用MATLAB函数创建矩阵 MATLAB为用户提供了创建基本矩阵的函数,它们: 空阵[]—matlab允许输入空阵,当一项操作无结果时,返回空阵 ones(N,M)—全部元素都为1的矩阵 zeros(N,M)—全部元素都为0的矩阵 rand(N,M)—在[0,1]均匀分布的随机矩阵 randn(N,M)—在[0,1]正态分布的随机矩阵 eye(N)—单位矩阵说明如何编辑矩阵和保存矩阵(P23)1.1.4.3向量的生成 在MATLAB系统中,仅有一行或一列的矩阵称为向量。 利用冒号“:”生成向量 a=m:n a=m:step:n 利用函数linspace()生成向量 linspace(m,n) linsapce(m,n,k)第一种方法称为比号生成法,第二种方法成为定数线型采样法1.1.4.4矩阵元素的引用与赋值(P26) 在MATLAB中,矩阵下标的行、列号都是从1开始的。A(i,j)表示矩阵A的第i行第j列的元素。 例:>>b=A(1,1)+A(2,2)+A(3,3) 运行结果:b=15.000与C语言中的数组不同,它是从下标为0开始的 向量x和y中的任何一个可以是冒号”:”,表示所有的行和列。 例,对上述矩阵A(:,[1,3])ans=134679 另外,MATLAB还可以将若干个小矩阵,通过方阵号连接算子,生成较大的矩阵。利用子矩阵生成大矩阵(P27) MATLAB通过方括号连接算子可以直接将多个子矩阵合并起来构成较大的矩阵。 例:a=ones(1,3); b=zeros(1,4);c=[a,b]结果:c=[1110000]矩阵的创建1、直接输入法-在命令窗口按规则输入方式创建矩阵例1.在命令窗口创建简单的数值矩阵。>>A=[132;310;215]回车后在命令窗口显示如下结果A=132310215例2.在命令窗口创建带运算表达式的矩阵,不显示结果。>>y=[sin(pi/3),cos(pi/6);log(20),exp(2)];输入“y”回车,在命令窗口显示出来。>>y↙显示出的结果为y=0.86600.86602.99577.3891矩阵的创建(续)指出:在矩阵较大时,用分行输入的方式(用回车代替分号区分不同行)比较接近于线性代数中的矩阵,更直观一些。任何矩阵元素内部不能有空格,否则会被认定是两个元素。矩阵的创建(续)2、通过数据文件创建矩阵-导入其他程序创建的数据例3.用记事本输入一组数据1234234543455761保存为fort.txt,用load命令读入,>>loadfort.txt↙输入fort就可以在命令窗口显示创建的矩阵。>>fort↙显示结果为fort=1234234543455761矩阵的创建(续)指出:①通过load命令导入数据是形成矩阵的重要方法,解决了在工作现场没有MATLAB系统和其他数据管理系统的问题,可以只用基本的文字处理工具完成。②MATLAB对文本形式的数据文件的扩展名并不计较,将上述数据文件换名保存为fort.1,仍然可以如上导入、应用。③文件名可以定义为m1.txt或m1.1。④但是,如果将文件命名为1m.txt,则显示出错信息:“Error:Missingoperator(算子),comma(逗号),orsemicolon(分号).”⑤如果文件名命名为3.txt、1.txt、3.1等,则显示的是主文件名所用的数字。⑥数据文件保存为word或wps等的文件格式同样可以引用。矩阵的创建(续)⑦如果数据文件中有字母,则不能引用,显示出错信息,即使该字母在前面的指令中已经赋值也不可。⑧如果数据文件中有算式,则不能完整显示,算式元素将仅显示第一个运算符(或关系符)前的数字。⑨导入其他数据,如图像数据、Excel数据时,可以使用数据导入向导ImportWizard。矩阵的创建(续)3、通过m文件创建矩阵-将矩阵建立为m文件先将矩阵按创建原则写入一个m文件中,在MATLAB命令窗口或程序中直接运行该m文件(输入该m文件名),即可将矩阵调入工作空间。4、通过函数创建矩阵矩阵的创建(续)指出:①当某一项操作无结果时,MATLAB将返回一个空矩阵,空矩阵的大小为0,但它确实存在于工作空间,可以通过变量名访问。②输入后的矩阵将保存在MATLAB工作空间中,并可以随时被访问调用,如果用户不用“clear”命令清除它,或给它重新赋值,该矩阵将一直保存在工作空间直到MATLAB关闭为止。③如果矩阵函数中只有一个参数,则为方阵。④四种创建矩阵的方法各有优点:直接输入法方便简捷;通过数据文件创建有利于调用其他软件产生的数据;通过m文件创建是用于创建较大尺寸的矩阵并便于修改;通过函数创建可以由MATLAB内部函数创建一些特殊矩阵。矩阵的创建(续)5、其他构造矩阵的方法-冒号法[1]冒号法构造向量冒号表达式的一般格式为:向量名=初值:步长:终值。例4.在窗口输入>>x=0:0.5:2回车后显示x=00.50001.00001.50002.0000。例5.在命令窗口输入>>x=2:-0.5:0回车后显示x=2.00001.50001.00000.50000矩阵的创建(续)指出:①步长可以省略,省略步长,则步长为1。②步长可以为负,此时初值大于终值。③向量的元素比较多而又有增减规律时,这种方法非常便利。④冒号法表示向量时,向量的全体成员是从初值开始,以步长为增量,直到不超过终值的所有元素构成的序列。⑤冒号法的应用可以避免使用循环,提高程序运行速度。矩阵的创建(续)[2]冒号法构造矩阵一般格式为:A(:,j):表示矩阵A的第j列;A(i,:):表示矩阵A的第i行。例6.建立矩阵。解:>>A(1,:)=1:5%设置矩阵的第1行A=12345矩阵的创建(续)>>A(2,:)=6:10%设置矩阵的第2行A=12345678910>>A(3,:)=11:15%设置矩阵的第3行,设置完成A=123456789101112131415矩阵的创建(续)指出:在MATLAB中,还可以利用函数linspace产生行向量,其调用格式为:linspace(a,b,n)。其中a,b是向量的第一个和最后一个元素,n是元素的个数。这样产生的向量的元素成等差数列。例如,>>linspace(1,4,5)ans=1.00001.75002.50003.25004.0000函数linspace被称为线性等分函数。矩阵的创建(续)指出:冒号法和应用linspace都可以创建具有递增元素序列的向量,但是,用冒号法创建向量时,向量的元素不一定取到终值,而应用linspace则必然会取到,因为b表示的就是最后一个元素。1.1.4.5矩阵的基本信息1、size:矩阵的大小2、length:向量长度3、ndims:数组维数4、disp:显示数组或文字5、isempty:检测是否空矩阵6、isequal:检测矩阵是否相等矩阵变换 1、fliplr:用于矩阵元素的左右对称翻转; 2、flipud:用于矩阵元素的上下对称翻转; 3、rot90:用于矩阵的逆时针90度旋转1.1.4.6矩阵运算 矩阵加减 若参与运算的两矩阵的维数相同,则加减运算的结果是将两运算的对应元素进行加减。 若参与运算的两矩阵的之一为标量(1×1),则加减运算的结果是将矩阵的每一个元素与该标量逐一相加减。 例:>>A=[1,2;3,4],B=[2,3;5,6]>>A+B>>A+1Ans=Ans=352381045注意:矩阵的加法与减法是指两个大小相等的矩阵,若不相等,则会出现出错提示:“innermatrixdimensionsmustagree” 矩阵乘(*) A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘。 例:>>a=[123;456;780]; b=[12;34;56]; >>c=a*b>>d=a*2c=2228d=246496481012314614160 矩阵的转置 矩阵幂次及指数①假设有方阵A和正整数p,则代表方阵A自乘p次②假设有方阵A和负整数p,则代表逆矩阵自乘p次如果p为一个矩阵的话,就是非法运算会出现出错信息:???Errorusing==>^Atleastoneoperandmustbescalar. 矩阵除分为矩阵右除和矩阵左除。 矩阵右除的运算符号为“/”,设A,B为两个矩阵,则“A/B”是指方程X*B=A的解矩阵X。矩阵A和B的列数必须是相等。 矩阵左除的运算符号为“\”,设A,B为两个矩阵,则“A\B”是指方程B*X=A的解矩阵X。矩阵A和B的行数必须是相等。 矩阵的除法 矩阵的求逆 矩阵的特征值 求方阵的行列式 求特征多项式矩阵的数组(向量)运算(P30) 数组(向量)运算指的是元素对元素的逐一运算。 数组加减(-,+) 数组乘除(.*,./,.\) 数组乘方(.^)a+ba-b对应元素相加减(与矩阵加减等效) 数组加减(-,+) a+b a-b 例:>>a=[1,2;3,4];b=[4,5;2,3] >>c=a+b;d=a-b >>c=d= 57-3-3 5711对应元素相加减(与矩阵加减等效) 数组乘除(.*,./,.\) ab——a,b两数组必须有相同的行和列两数组相应元素相乘。 >>a=[123;456;789];>>b=[246;135;7910]; >>a.*b ans= 2818 41530 497290a./b=b.\aa.\b=b./aa./b=b.\a—都是a的元素被b的对应元素除a.\b=b./a—都是b的元素被a的对应元素除例:a=[123];b=[456];c1=a.\b;c2=b./ac1=4.00002.50002.0000c2=4.00002.50002.0000 数组乘方-元素对元素的幂例:a=[123];b=[456];z=a.^2z=1.004.009.00z=a.^bz=1.0032.00729.00矩阵的关系运算 MATLAB的基本关系运算符为:>(大于)<(小于)==(等于)<=(小于等于)~=(不等于) 关系运算的规则是: 参与关系运算的矩阵必须是同维矩阵或其中之一为标量。 当参与运算的矩阵是两同维矩阵A和B时,关系运算的结果时将矩阵A和B下标相同的对应元素逐一进行关系比较。 当参与运算的矩阵之一是标量,关系运算的结果是将矩阵的每一个元素与该标量逐一进行关系比较。 关系运算比算术运算具有更高的优先级 例:>>a=[1,2;2,3] >>b=[2,2;2,2] >>a>=b ans=01 11矩阵的逻辑运算 MATLAB的基本逻运算符为:&(与)|(或)~(非) 在逻辑运算中,”真“用代码”1”表示,”假”用代码”0”表示。逻辑运算的规则是: 参与逻辑运算的矩阵必须是同维矩阵或其中之一为标量 当参与逻辑运算是两同维矩阵A和B时,逻辑运算的结果是将矩阵A和B下标相同的对应元素逐一进行逻辑运算。 当参与逻辑运算之一是标量时,逻辑运算的结果是将矩阵的每一个元素与该标量进行逻辑运算。 例:>>a=[2,0;0,3];>>b=[1,0;0,0];>>a&bans=1000MATLAB的算术运算符MATLAB的关系与逻辑运算符MATLAB的特殊运算符号(P73) 逗号和分号的作用 逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。 分号如果出现在指令后,屏幕上将不显示结果。注意:只要是赋过值的变量,不管是否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。常用的一些数学函数(P45)>>a=[1234];>>sin(a)ans=0.84150.90930.1411-0.7568>>cos(a)ans=0.5403-0.4161-0.9900-0.6536>>b=1+2i>>real(b)ans=1>>imag(b)Ans=2多项式及其运算(P46) 多项式的表达与创建 MATLAB采用将多项式按幂次序排列形成的行向量来表征一多项式。设多项式为则表征该多项式的行向量为: 例:语句A=[1201],即表示创建多项式,并赋值给变量A。多项式及其运算(续) 多项式求根(P47) 函数roots()用于对多项式求根,调用格式为:p=roots(A) 例如:>>b=[132]>>roots(b)ans=-2-1多项式及其运算(续) 由指定根求多项式 函数ploy用于由给定定根求多项式系数向量,调用格式为:A=poly(p) 例:>>p=[2,1]>>poly(p)ans=1-32多项式及其运算(续) 多项式相乘(P47) 函数conv()用于求两个多项式的乘积多项式,其调用格式为:R=conv(A,B) 例:>>A=[132];>>B=[121];>>R=conv(A,B)R=15972多项式及其运算(续) 多项式相除(解卷)(P48) 函数deconv()用于进行两个多项式的相除运算,其调用格式为[B,t]=deconv(R,A) 例:>>R=[15972];>>A=[132]>>[B,t]=deconv(R,A)B=121t=00000MATLAB的基本管理命令 当MATLAB启动后,系统自动在内存中开辟一块存储区域用于用户在MATLAB命令窗口中定义的变量、运算结果和有关数据。此内存空间称为MATLAB的工作空间(workspace)。 清除变量命令clearclearclearab 希望大家用.M文件的格式做作业1矩阵相乘求C=A×B作业2求解线性方程组作业3将表达式展开为多项式形式,并求其对应的一元n次方程的根。作业4求多项式被除后的结果说明如何编辑矩阵和保存矩阵(P23)第一种方法称为比号生成法,第二种方法成为定数线型采样法
本文档为【第二章 MATLAB的数值计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:1013KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-20
浏览量:0