《MATLAB矩阵的数值运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB矩阵的数值运算.ppt(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二讲 MATLAB的数值计算 matlab 具有出色的数值计具有出色的数值计算能力,占据世界上数值计算软算能力,占据世界上数值计算软件的主导地位件的主导地位数值运算的功能数值运算的功能n n 创建矩阵创建矩阵n n 矩阵运算矩阵运算n n 多项式运算多项式运算n n 线性方程组线性方程组n n 数值统计数值统计n n 线性插值线性插值n n 函数优化函数优化n n 微分方程的数值解微分方程的数值解一、命令行的基本操作一、命令行的基本操作1.1.创建矩阵的方法创建矩阵的方法创建矩阵的方法创建矩阵的方法v 直接输入法直接输入法直接输入法直接输入法规则:规则:规则:规则:矩阵元素矩阵元素矩阵元素矩
2、阵元素必须用必须用必须用必须用 括住;括住;括住;括住;矩阵元素矩阵元素矩阵元素矩阵元素必须用必须用必须用必须用逗号逗号逗号逗号或或或或空格空格空格空格分隔分隔分隔分隔 ;在在在在 内矩阵的内矩阵的内矩阵的内矩阵的行与行之间行与行之间行与行之间行与行之间必须用必须用必须用必须用分号分号分号分号分隔。分隔。分隔。分隔。a=3.3;b=4.4;c=1,a,3;4,5,6;b,7,8c=1.0000 3.3000 3.0000 4.0000 5.0000 6.0000 4.4000 7.0000 8.0000例例1:m=1 2 3;4 5 6,n=11 12 13;14 15 16m=1 2 3 4
3、 5 6n=11 12 13 14 15 16 c=m+i*nc=1.0000+11.0000i 2.0000+12.0000i 3.0000+13.0000i 4.0000+14.0000i 5.0000+15.0000i 6.0000+16.0000i例例2:其中符号的作用其中符号的作用其中符号的作用其中符号的作用:q逗号和分号的作用逗号和分号的作用 逗号和分号可作为指令间的分隔符,逗号和分号可作为指令间的分隔符,逗号和分号可作为指令间的分隔符,逗号和分号可作为指令间的分隔符,matlabmatlab允许多条允许多条允许多条允许多条语句在同一行出现。语句在同一行出现。语句在同一行出现。语句
4、在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。分号如果出现在指令后,屏幕上将不显示结果。分号如果出现在指令后,屏幕上将不显示结果。分号如果出现在指令后,屏幕上将不显示结果。q 冒号的作用冒号的作用 用于生成等间隔的向量,默认间隔为用于生成等间隔的向量,默认间隔为用于生成等间隔的向量,默认间隔为用于生成等间隔的向量,默认间隔为1 1。用于选出矩阵指定行、列及元素。用于选出矩阵指定行、列及元素。用于选出矩阵指定行、列及元素。用于选出矩阵指定行、列及元素。循环语句循环语句循环语句循环语句Note:只要是赋过值的变量,不管是否在屏幕上显示过,只要是赋过值的变量,不管是否在屏幕上显示过,都存储
5、在工作空间中,以后可随时显示或调用。都存储在工作空间中,以后可随时显示或调用。变量名尽变量名尽可能不要重复,否则会覆盖可能不要重复,否则会覆盖 。当一个指令或矩阵太长时,可用当一个指令或矩阵太长时,可用续行续行例:例:v 用用用用matlabmatlab函数创建矩阵函数创建矩阵函数创建矩阵函数创建矩阵 空阵空阵空阵空阵 matlab matlab允许输入空阵,当一项操作无结果时,返允许输入空阵,当一项操作无结果时,返允许输入空阵,当一项操作无结果时,返允许输入空阵,当一项操作无结果时,返回空阵。回空阵。回空阵。回空阵。rand(1,N)rand(1,N)产生产生产生产生0 10 1上均匀分布的
6、随机序列,长度为上均匀分布的随机序列,长度为上均匀分布的随机序列,长度为上均匀分布的随机序列,长度为NN randn(1,N)randn(1,N)产生均值为产生均值为产生均值为产生均值为0 0,方差为方差为方差为方差为 1 1的高斯随机序列,即白的高斯随机序列,即白的高斯随机序列,即白的高斯随机序列,即白噪声序列,长度噪声序列,长度噪声序列,长度噪声序列,长度NN eye eye 单位矩阵单位矩阵单位矩阵单位矩阵 zeros zeros 全部元素都为全部元素都为全部元素都为全部元素都为0 0的矩阵的矩阵的矩阵的矩阵 ones ones 全部元素都为全部元素都为全部元素都为全部元素都为1 1的矩
7、阵的矩阵的矩阵的矩阵 此外,还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范此外,还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范此外,还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范此外,还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,就不一一介绍了。德蒙等矩阵的创建,就不一一介绍了。德蒙等矩阵的创建,就不一一介绍了。德蒙等矩阵的创建,就不一一介绍了。NoteNote:matlabmatlabmatlabmatlab严格区分大小写字母严格区分大小写字母严格区分大小写字母严格区分大小写字母,因此,因此,因此,因此a a a a与与与与A A A A是两个不同是两个不同是两个不同是两个
8、不同的变量。的变量。的变量。的变量。matlabmatlabmatlabmatlab函数名必须小写函数名必须小写函数名必须小写函数名必须小写。2.2.矩阵的修改矩阵的修改矩阵的修改矩阵的修改 直接修改直接修改直接修改直接修改 可用可用可用可用 键找到所要修改的矩阵,用键找到所要修改的矩阵,用键找到所要修改的矩阵,用键找到所要修改的矩阵,用键移动到键移动到键移动到键移动到要修改的矩阵元素上即可修改要修改的矩阵元素上即可修改要修改的矩阵元素上即可修改要修改的矩阵元素上即可修改。指令修改指令修改指令修改指令修改 可以用可以用可以用可以用A(A(,)=)=来修改来修改来修改来修改。例:例:例:例:a=
9、1 2 0;3 0 5;7 8 9 a=1 2 0;3 0 5;7 8 9a=1 2 0a=1 2 0 3 0 5 3 0 5 7 8 9 7 8 9 a(3,3)=0 A=3 2 1;5 0.7 2;7 4 3;b=5;2;7;X=AbX=2.2609 1.7391 -5.2609 a p a a p a 自乘自乘自乘自乘p p次幂次幂次幂次幂方阵方阵1的的整数整数4.4.矩阵乘方矩阵乘方矩阵乘方矩阵乘方 anan,apap,papaP P0 0,结果为与结果为与a a相同的矩阵,当相同的矩阵,当p0p a=1,2,3;4,5,6;7,8,9;a2a=1,2,3;4,5,6;7,8,9;a2
10、 ansans=30 36 42=30 36 42 66 81 96 66 81 96 102 126 150 102 126 150 当一个方阵有复数特征值或负实特征值时,非当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。整数幂是复数阵。例:例:例:例:a=1,2,3;4,5,6;7,8,9;a0.5 a=1,2,3;4,5,6;7,8,9;a0.5 ansans=0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i 0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i 1.0185+0.0842i 1.2515
11、+0.0228i 1.4844-0.0385i 1.0185+0.0842i 1.2515+0.0228i 1.4844-0.0385i 1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i 1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i eig(a)%求矩阵求矩阵a的特征值的特征值ans=16.1168 -1.1168 -0.0000vinv(A)inv(A)矩阵求逆矩阵求逆矩阵求逆矩阵求逆vdet(Adet(A)矩阵矩阵矩阵矩阵A A所对应的行列式的值所对应的行列式的值所对应的行列式的值所对应的行列式的值veig
12、(A)eig(A)矩阵的特征值及特征向量矩阵的特征值及特征向量矩阵的特征值及特征向量矩阵的特征值及特征向量vdiag(A)diag(A)提取提取提取提取A A对角元素或生成对角矩阵对角元素或生成对角矩阵对角元素或生成对角矩阵对角元素或生成对角矩阵 vsqrtm(Asqrtm(A)矩阵矩阵矩阵矩阵A A的平方根的平方根的平方根的平方根v logm(Alogm(A)矩阵矩阵矩阵矩阵A A的自然对数的自然对数的自然对数的自然对数v expmexpm(A A)A A的矩阵指数函数的矩阵指数函数的矩阵指数函数的矩阵指数函数v trace(Atrace(A)求矩阵的迹求矩阵的迹求矩阵的迹求矩阵的迹v ra
13、nkrank(A A)求矩阵的秩求矩阵的秩求矩阵的秩求矩阵的秩5.5.矩阵的其它运算矩阵的其它运算矩阵的其它运算矩阵的其它运算 6.6.矩阵的一些特殊操作矩阵的一些特殊操作矩阵的一些特殊操作矩阵的一些特殊操作vv矩阵的变维矩阵的变维矩阵的变维矩阵的变维 例:例:例:例:a=1 2 3 4;5 6 7 8;9 10 11 12 a=1 2 3 4;5 6 7 8;9 10 11 12 a=a=1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 9 10 11 12 9 10 11 12 b=b=reshapereshape(a,4,3)(a,4,3)%把指定的矩阵改变形状,但是元素个
14、数不变把指定的矩阵改变形状,但是元素个数不变把指定的矩阵改变形状,但是元素个数不变把指定的矩阵改变形状,但是元素个数不变 b=b=1 6 11 1 6 11 5 10 4 5 10 4 9 3 8 9 3 8 2 7 12 2 7 12 vv矩阵的旋转矩阵的旋转矩阵的旋转矩阵的旋转 例:例:例:例:a=1 2 3 4;5 6 7 8;9 10 11 12 a=1 2 3 4;5 6 7 8;9 10 11 12 a=a=1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 9 10 11 12 9 10 11 12 b=b=rot90rot90(a)(a)矩阵逆时针旋转矩阵逆时针旋转
15、矩阵逆时针旋转矩阵逆时针旋转9090度度度度b=b=4 8 12 4 8 12 3 7 11 3 7 11 2 6 10 2 6 10 1 5 9 1 5 9vv矩阵的对称交换矩阵的对称交换矩阵的对称交换矩阵的对称交换 例:例:例:例:a=-4-1-2;-3 0-3;-2 1 4 a=-4-1-2;-3 0-3;-2 1 4 a=a=-4 -1 -2 -4 -1 -2 -3 0 -3 -3 0 -3 -2 1 4 -2 1 4 flipudflipud(a(a)上下对称交换上下对称交换上下对称交换上下对称交换ansans=-2 1 4 -2 1 4 -3 0 -3 -3 0 -3 -4 -1
16、-2 -4 -1 -2 fliplrfliplr(a(a)左右对称交换左右对称交换左右对称交换左右对称交换ansans=-2 -1 -4 -2 -1 -4 -3 0 -3 -3 0 -3 4 1 -2 4 1 -2vv提取矩阵的上、下三角阵提取矩阵的上、下三角阵提取矩阵的上、下三角阵提取矩阵的上、下三角阵 例:例:例:例:a=-4-1-2;-3 0-3;-2 1 4 a=-4-1-2;-3 0-3;-2 1 4 a=a=-4 -1 -2 -4 -1 -2 -3 0 -3 -3 0 -3 -2 1 4 -2 1 4 triltril(a(a)提取提取提取提取a a的下三角阵的下三角阵的下三角阵的
17、下三角阵ansans=-4 0 0 -4 0 0 -3 0 0 -3 0 0 -2 1 4 -2 1 4 triutriu(a(a)提取提取提取提取a a的上三角阵的上三角阵的上三角阵的上三角阵ansans=-4 -1 -2 -4 -1 -2 0 0 -3 0 0 -3 0 0 4 0 0 4vv 求矩阵的维数(求矩阵的维数(求矩阵的维数(求矩阵的维数(sizesize)或向量的长度()或向量的长度()或向量的长度()或向量的长度(lengthlength)例:例:a=1 4 7 10;2 5 8 11;3 6 9 12a=1 4 7 10 2 5 8 11 3 6 9 12 k=size(a
18、)k=3 4 A=1 2 3 4 8 6;n=length(A)n=6vv 矩阵的转置矩阵的转置矩阵的转置矩阵的转置运算符运算符 可进行矩阵的共轭转置运算,运算符可进行矩阵的共轭转置运算,运算符.可进可进行矩阵的转置运算,当矩阵元素为实数时,两者结果相同。行矩阵的转置运算,当矩阵元素为实数时,两者结果相同。例、例、A=1 2 3;4 5 6A=1 2 3 4 5 6 B=AB=1 4 2 5 3 6 7.矩阵的关系运算矩阵的关系运算MATLAB提供了提供了6种关系运算符:种关系运算符:关系符号关系符号意义意义=小于小于小于或等于小于或等于大于大于大于或等于大于或等于等于等于不等于不等于它们的含
19、义不难理解,但要注意其书写方法与数学它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。中的不等式符号不尽相同。关系运算符的运算法则为:关系运算符的运算法则为:关系运算符的运算法则为:关系运算符的运算法则为:vv 当两个比较量是标量时,直接比较两数的大小若当两个比较量是标量时,直接比较两数的大小若当两个比较量是标量时,直接比较两数的大小若当两个比较量是标量时,直接比较两数的大小若关系成立,关系表达式结果为关系成立,关系表达式结果为关系成立,关系表达式结果为关系成立,关系表达式结果为1 1,否则为,否则为,否则为,否则为0 0。vv 当参与比较的量是两个维数相同的矩阵时,比较当参
20、与比较的量是两个维数相同的矩阵时,比较当参与比较的量是两个维数相同的矩阵时,比较当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则是对两矩阵相同位置的元素按标量关系运算规则是对两矩阵相同位置的元素按标量关系运算规则是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运逐个进行,并给出元素比较结果。最终的关系运逐个进行,并给出元素比较结果。最终的关系运逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的算的结果是一个维数与原矩阵相同的矩阵,它的算的结果是一个维数与原矩阵相同的矩阵,它的算的结果是一个维
21、数与原矩阵相同的矩阵,它的元素由元素由元素由元素由0 0或或或或1 1组成。组成。组成。组成。vv 当参与比较的一个是标量,而另一个是矩阵当参与比较的一个是标量,而另一个是矩阵当参与比较的一个是标量,而另一个是矩阵当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系时,则把标量与矩阵的每一个元素按标量关系时,则把标量与矩阵的每一个元素按标量关系时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最运算规则逐个比较,并给出元素比较结果。最运算规则逐个比较,并给出元素比较结果。最运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数
22、与原矩阵相同终的关系运算的结果是一个维数与原矩阵相同终的关系运算的结果是一个维数与原矩阵相同终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由的矩阵,它的元素由的矩阵,它的元素由的矩阵,它的元素由0 0或或或或1 1组成。组成。组成。组成。c=(a abans=0 0 0 0 0 1 1 1 1 a=1 2 3;4 5 6;7 8 9a=1 2 3 4 5 6 7 8 9 b=10-ab=9 8 7 6 5 4 3 2 1例:例:8.矩阵的逻辑运算矩阵的逻辑运算v 在逻辑运算中,确认非零元素为真,用在逻辑运算中,确认非零元素为真,用1表示,零元表示,零元素为假,用素为假,用0表示。表示
23、。v 设参与逻辑运算的是两个标量设参与逻辑运算的是两个标量a和和b,那么,那么,a&b(与与)a,b全为非零时,运算结果为全为非零时,运算结果为1,否则为,否则为0。a|b(或)或)a,b中只要有一个非零,运算结果为中只要有一个非零,运算结果为1。a(非)非)当当a是零时,运算结果为是零时,运算结果为1;当;当a非零时,非零时,运算结果为运算结果为0。MATLAB提供了提供了3种逻辑运算符:种逻辑运算符:&(与与)、|(或或)和和(非非)。逻辑运算的运算法则为:逻辑运算的运算法则为:v 若参与逻辑运算的是两个同维矩阵,那么运算将若参与逻辑运算的是两个同维矩阵,那么运算将若参与逻辑运算的是两个同
24、维矩阵,那么运算将若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。对矩阵相同位置上的元素按标量规则逐个进行。对矩阵相同位置上的元素按标量规则逐个进行。对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元最终运算结果是一个与原矩阵同维的矩阵,其元最终运算结果是一个与原矩阵同维的矩阵,其元最终运算结果是一个与原矩阵同维的矩阵,其元素由素由素由素由1 1或或或或0 0组成。组成。组成。组成。v 在算术、关系、逻辑运算中,算术运算优先级最在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。高,逻辑运算优先级最低。vv 若
25、参与逻辑运算的一个是标量,一个是矩阵,那若参与逻辑运算的一个是标量,一个是矩阵,那若参与逻辑运算的一个是标量,一个是矩阵,那若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规么运算将在标量与矩阵中的每个元素之间按标量规么运算将在标量与矩阵中的每个元素之间按标量规么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩则逐个进行。最终运算结果是一个与矩阵同维的矩则逐个进行。最终运算结果是一个与矩阵同维的矩则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由阵,其元素由阵,其元素由阵,其元素由1 1或或或或0 0组成。组成。组
26、成。组成。a=-3 0 1;2 4-5;-7-8 9a=-3 0 1 2 4 -5 -7 -8 9 x=a 等价于等价于not(a),元素为元素为0时,结果为时,结果为1,否则为,否则为0 x=0 1 0 0 0 0 0 0 0例:例:x1=(a0)x1=1 1 0 0 0 1 1 1 0 x2=a-2&aa=1 2 3;4 5 6;7 8 9;a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;b=2 4 6;1 3 5;7 9 10;a a.*b*bans=ans=2 8 18 2 8 18 4 15 30 4 15 30 49 72 90 49 72 90
27、例:例:a=1 2 3;4 5 6;7 8 a=1 2 3;4 5 6;7 8 9;9;b=2 4 6;1 3 5;7 9 10;b=2 4 6;1 3 5;7 9 10;a*ba*bans=ans=25 37 46 25 37 46 55 85 109 55 85 109 85 133 172 85 133 172 数组相乘数组相乘矩阵相乘矩阵相乘a./b=b.aa./b=b.aa.b=b./aa.b=b./a 给出给出a,b对应元素间的商对应元素间的商.a./b=b.a a./b=b.a 都是都是都是都是a a的元素被的元素被的元素被的元素被b b的对应元素除的对应元素除的对应元素除的对应
28、元素除 例例例例:a=1 2 3;b=4 5 6;c1=a.b,c2=b./aa=1 2 3;b=4 5 6;c1=a.b,c2=b./ac1=4.0000 2.5000 2.0000c1=4.0000 2.5000 2.0000c2=4.0000 2.5000 2.0000c2=4.0000 2.5000 2.0000 数组乘方数组乘方数组乘方数组乘方(.)(.)元素对元素的幂元素对元素的幂元素对元素的幂元素对元素的幂例:例:a=1 2 3,b=4 5 6,a=1 2 3b=4 5 6 a.2ans=1 4 9 a.bans=1 32 729三、三、数据统计处理数据统计处理1、求向量的最大值
29、和最小值求向量的最大值和最小值格式:格式:p y=max(X):返回向量返回向量X X的最大值存入的最大值存入y,如果,如果X中包含复数元素,则按模取最大值。中包含复数元素,则按模取最大值。p y,I=max(X):返回向量返回向量X的最大值存入的最大值存入y,最,最大值的序号存入大值的序号存入I,如果,如果X中包含复数元素,则按中包含复数元素,则按模取最大值。模取最大值。求向量求向量X的最小值的函数是的最小值的函数是min(X),用法和,用法和max(X)完全相同。完全相同。例例1、求向量求向量x的最大值。的最大值。x=-43,72,9,16,23,47;y=max(x)%求向量求向量x中的
30、最大值中的最大值 y,l=max(x)%求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置2、求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵求矩阵求矩阵A A的最大值的函数常用有的最大值的函数常用有的最大值的函数常用有的最大值的函数常用有2 2种调用格式:种调用格式:种调用格式:种调用格式:ppmax(Amax(A):返回一个行向量,向量的第返回一个行向量,向量的第返回一个行向量,向量的第返回一个行向量,向量的第i i个元素是矩阵个元素是矩阵个元素是矩阵个元素是矩阵A A的第的第的第的第i i列上的最大值。列上的最大值。列上的最大值。列上的最大值。ppY,U=max(
31、A)Y,U=max(A):返回行向量返回行向量返回行向量返回行向量Y Y和和和和U U,Y Y向量记录向量记录向量记录向量记录A A的每的每的每的每列的最大值,列的最大值,列的最大值,列的最大值,U U向量记录每列最大值的行号。向量记录每列最大值的行号。向量记录每列最大值的行号。向量记录每列最大值的行号。求矩阵求矩阵A的最小值的函数是的最小值的函数是min(X),用法和,用法和max(X)完完全相同。全相同。例:例:A=2 8 16;0-2 30;3 61 4A=2 8 16 0 -2 30 3 61 4 max(A)ans=3 61 30y,u=max(A)y=3 61 30u=3 3 2s
32、um(Xsum(X):返回向量返回向量返回向量返回向量X X各元素的和。各元素的和。各元素的和。各元素的和。prod(X)prod(X):返回向量返回向量返回向量返回向量X X各元素的乘积。各元素的乘积。各元素的乘积。各元素的乘积。sum(A)sum(A):返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第i i个元素是个元素是个元素是个元素是A A的第的第的第的第i i列的列的列的列的 元素和。元素和。元素和。元素和。prod(Aprod(A):返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第i i个元素是个元素是个元素是个元素是
33、A A的第的第的第的第i i列的列的列的列的 元素乘积。元素乘积。元素乘积。元素乘积。3 3、求和与求积求和与求积求和与求积求和与求积 数据序列求和与求积的函数是数据序列求和与求积的函数是数据序列求和与求积的函数是数据序列求和与求积的函数是sumsum和和和和prodprod,其使,其使,其使,其使用方法类似。设用方法类似。设用方法类似。设用方法类似。设X X是一个向量,是一个向量,是一个向量,是一个向量,A A是一个矩阵,函数是一个矩阵,函数是一个矩阵,函数是一个矩阵,函数的的的的调用格式调用格式调用格式调用格式为:为:为:为:sum(A,dim):当当dim为为1时,该函数等同于时,该函数
34、等同于sum(A);当;当 dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元个元 素是素是A的第的第i行的各元素之和。行的各元素之和。prod(A,dim):当当dim为为1时,该函数等同于时,该函数等同于prod(A);当;当 dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元个元 素是素是A的第的第i行的各元素乘积。行的各元素乘积。例:例:A=2 8 16;0-2 30;3 61 4A=2 8 16 0 -2 30 3 61 4 sum(A)ans=5 67 50 prod(A)ans=0 -976 19204 4、统计分布的数字特征统计分布的数字特征统计
35、分布的数字特征统计分布的数字特征 meanmean(X(X)返回向量返回向量返回向量返回向量X X的算术平均值的算术平均值的算术平均值的算术平均值 mean(Amean(A)返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第返回一个行向量,其第i i个元素是个元素是个元素是个元素是A A的第的第的第的第i i列的算列的算列的算列的算 术平均值。术平均值。术平均值。术平均值。stdstd(X(X)返回向量返回向量返回向量返回向量X X的样本标准差的样本标准差的样本标准差的样本标准差 std(Astd(A)返回一个行向量,它的各个元素便是矩阵返回一个行向量,它的各个元素便是矩阵返回一个行
36、向量,它的各个元素便是矩阵返回一个行向量,它的各个元素便是矩阵A A各列或各列或各列或各列或 各行的标准差。各行的标准差。各行的标准差。各行的标准差。varvar(X(X)返回向量返回向量返回向量返回向量X X的样本方差的样本方差的样本方差的样本方差 var(Avar(A)返回一个行向量,它的各个元素便是矩阵返回一个行向量,它的各个元素便是矩阵返回一个行向量,它的各个元素便是矩阵返回一个行向量,它的各个元素便是矩阵A A各列或各列或各列或各列或 各行的标准方差。各行的标准方差。各行的标准方差。各行的标准方差。corrcoefcorrcoef(X(X)返回从矩阵返回从矩阵返回从矩阵返回从矩阵X
37、X形成的一个相关系数矩阵。此相形成的一个相关系数矩阵。此相形成的一个相关系数矩阵。此相形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵关系数矩阵的大小与矩阵关系数矩阵的大小与矩阵关系数矩阵的大小与矩阵X X一样。它把矩阵一样。它把矩阵一样。它把矩阵一样。它把矩阵X X的每列作为一个变的每列作为一个变的每列作为一个变的每列作为一个变量,然后求它们的相关系数。量,然后求它们的相关系数。量,然后求它们的相关系数。量,然后求它们的相关系数。X=randn(10000,5);X=randn(10000,5);M=mean(X)M=mean(X)D=std(X)D=std(X)R=R=corrcoef(
38、Xcorrcoef(X)例、例、例、例、生成满足正态分布的生成满足正态分布的生成满足正态分布的生成满足正态分布的100005100005随机矩阵,然后求各随机矩阵,然后求各随机矩阵,然后求各随机矩阵,然后求各列元素的均值和标准方差,再求这列元素的均值和标准方差,再求这列元素的均值和标准方差,再求这列元素的均值和标准方差,再求这5 5列随机数据的相关系列随机数据的相关系列随机数据的相关系列随机数据的相关系数矩阵。数矩阵。数矩阵。数矩阵。M=0.0011 0.0066 0.0009 0.0264 0.0101D=1.0011 1.0036 1.0049 1.0058 1.0061R=1.0000
39、0.0119 0.0051 -0.0114 -0.0011 0.0119 1.0000 0.0093 -0.0012 0.0071 0.0051 0.0093 1.0000 0.0048 0.0095 -0.0114 -0.0012 0.0048 1.0000 -0.0017 -0.0011 0.0071 0.0095 -0.0017 1.0000运行结果:运行结果:5 5、排序排序排序排序格式:格式:sort(X)函数返回一个对函数返回一个对X中的元素按升序排列的新向量。中的元素按升序排列的新向量。sort函数也可以对矩阵函数也可以对矩阵A的各列或各行重新排序,其的各列或各行重新排序,其调用
40、格式为:调用格式为:Y,I=sort(A,dim)其中其中dim指明对指明对A的列还是行进行排序。若的列还是行进行排序。若dim=1,则,则按列排;若按列排;若dim=2,则按行排。,则按行排。Y是排序后的矩阵,是排序后的矩阵,而而I记录记录Y中的元素在中的元素在A中位置。中位置。matlabmatlab语言把多项式表达成一个行向量,该向语言把多项式表达成一个行向量,该向语言把多项式表达成一个行向量,该向语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。量中的元素是按多项式降幂排列的。量中的元素是按多项式降幂排列的。量中的元素是按多项式降幂排列的。P(x)=aP(x)=an n
41、x xn n+a+an-1 n-1 x xn-1n-1+a+a1 1 x+a x+a0 0 可用系数行向量表示:可用系数行向量表示:可用系数行向量表示:可用系数行向量表示:P=aP=an n a an-1n-1 a a1 1 a a0 0 四、四、多项式运算多项式运算 1.多项式的表达方式多项式的表达方式Note:多项式中系数为多项式中系数为0的项不能忽略,的项不能忽略,p中相应元素中相应元素应置为应置为0。p=3,5,1,7 或或 p=3 5 1 7 p1=3,0,2,4 或或 p1=3 0 2 42.多项式因式分解多项式因式分解多项式方程求根多项式方程求根利用函数利用函数roots()()
42、求多项式方程的根,从而求多项式方程的根,从而因式分解。因式分解。例:例:求多项式求多项式 的根。的根。在在MATLAB中表示为:中表示为:例:例:多项式多项式 ,用用MATLAB语言:语言:p=1,-20.5,137,-297.5;r=roots(p)r=8.5000 7.0000 5.0000多项式因式分解:多项式因式分解:3.P3.Ppolypoly(ar(ar)产生特征多项式系数向量产生特征多项式系数向量产生特征多项式系数向量产生特征多项式系数向量若若若若arar是方阵,是方阵,是方阵,是方阵,P P就是多项式系数向量;就是多项式系数向量;就是多项式系数向量;就是多项式系数向量;若若若若
43、ararar1 ar2 ar1 ar2 arnarn,arar的元素是多项式的元素是多项式的元素是多项式的元素是多项式P P的根的根的根的根,满足满足满足满足 (x-ar1)(x-ar2)(x-ar1)(x-ar2)(x-arnx-arn)=a)=an nx xn n+a+an-1n-1x xn-1n-1+a+a0 0。例:例:展开多项式展开多项式 。ar=20 7-5;p=poly(ar)p=1 -22 5 700多项式展开:多项式展开:例例例例:求求求求3 3阶方阵阶方阵阶方阵阶方阵A A的特征多项式。的特征多项式。的特征多项式。的特征多项式。A=11 12 13;14 15 16;17
44、18 19;PA=poly(A)A的特征多项式的特征多项式PA=1.0000 -45.0000 -18.0000 0.0000 PB=poly2str(PA,x)以以x作为自变量,返回三次多项式作为自变量,返回三次多项式 PB=x3-45 x2-18 x+1.8303e-014Note:poly2str是是一个函数文件。一个函数文件。n阶方阵的特征多项式系数存放为阶方阵的特征多项式系数存放为1(n1)的一维数的一维数组。组。特征多项式系数向量的第一个元素必是特征多项式系数向量的第一个元素必是1。4.4.convconv多项式乘运算多项式乘运算多项式乘运算多项式乘运算例例例例:a(x)=x:a(
45、x)=x2 2+2x+3;b(x)=4x+2x+3;b(x)=4x2 2+5x+6;+5x+6;求:求:求:求:c(x)=a(x)*b(x)c(x)=a(x)*b(x)a=1 2 3;b=4 5 6;c=conv(a,b)%计算两多项式相乘后系数计算两多项式相乘后系数c=4 13 28 27 18 p=poly2str(c,x)p=4 x4+13 x3+28 x2+27 x+185.5.deconvdeconv多项式除运算多项式除运算多项式除运算多项式除运算例:例:例:例:6.6.多项式微分多项式微分多项式微分多项式微分matlabmatlab提供了提供了提供了提供了polyderpolyde
46、r函数求多项式的微分。函数求多项式的微分。函数求多项式的微分。函数求多项式的微分。命令格式:命令格式:命令格式:命令格式:polyder(ppolyder(p):):求求求求p p的微分的微分的微分的微分polyder(a,bpolyder(a,b):):求求求求多项式多项式多项式多项式a,ba,b乘积的微分乘积的微分乘积的微分乘积的微分p,q=p,q=polyder(a,bpolyder(a,b):):求求求求多项式多项式多项式多项式a,ba,b商的微分商的微分商的微分商的微分例:例:五、函数的极值五、函数的极值1.1.1.1.固定区间单变量函数的最小值固定区间单变量函数的最小值固定区间单变
47、量函数的最小值固定区间单变量函数的最小值利用利用fminbnd函数求函数求固定区间单变量函数的最小值。固定区间单变量函数的最小值。固定区间单变量函数的最小值。固定区间单变量函数的最小值。用法:用法:用法:用法:fun:单变量函数的函数名,单变量函数的函数名,x1 x2为给定的计算区为给定的计算区间,间,x,fval为最小值点的位置和最小值。为最小值点的位置和最小值。例:求例:求 在区间在区间0,2的最小值的最小值 f=inline(x.3-2*x.2-5,x);采用内联函数表示测试函数采用内联函数表示测试函数 x=0:0.1:2;plot(x,f(x)x,y=fminbnd(f,0,2)x=1
48、.3333y=-6.1852或:或:f=x.3-2*x.2-52.2.2.2.固定区间多变量函数的最小值固定区间多变量函数的最小值固定区间多变量函数的最小值固定区间多变量函数的最小值 利用利用fminsearch函数求函数求固定区间多变量函数的最固定区间多变量函数的最固定区间多变量函数的最固定区间多变量函数的最小值。用法:小值。用法:小值。用法:小值。用法:从函数从函数fun的给定点开始搜索附近的最小值点的给定点开始搜索附近的最小值点x,fval为最小值点对应的最小值。为最小值点对应的最小值。例:求例:求 在区间在区间x=0.3,y=0.7附近附近的最小值点。的最小值点。f=inline(p(
49、1).2+p(2).2+7,p);采用内联函数表示测采用内联函数表示测试函数试函数 minpoint,minval=fminsearch(f,0.3,0.7)minpoint=1.0e-004*-0.1766 -0.1636minval=7.0000六、代数方程求解六、代数方程求解求求非线性方程式的根的步骤:非线性方程式的根的步骤:定义方程式(定义方程式(形式形式),),可用可用inline函数定义;函数定义;代入适当范围的代入适当范围的x及其对应及其对应f(x)值,画出方程函数曲线,值,画出方程函数曲线,了解该方程式根的大致位置;了解该方程式根的大致位置;由图中决定由图中决定f(x)与与x轴
50、相交的大致位置轴相交的大致位置x0,通过通过fzero函函数求出在数求出在 x0附近的根。附近的根。例:求方程例:求方程例:求方程例:求方程 f=inline(2*exp(x).*sin(2*pi*x)-0.5,x);x=0:0.1:2;y=f(x);plot(x,y)r=fzero(f,0.5)r=0.4752 r=fzero(f,1)r=1.0144 r=fzero(f,1.5)r=1.4910七、数值积分与微分七、数值积分与微分v 数值积分基本原理数值积分基本原理 求解定积分的求解定积分的数值方法数值方法多种多样,如简单的梯多种多样,如简单的梯形法、辛普生形法、辛普生(Simpson)法