MATLAB程序设计与应用_第1页
MATLAB程序设计与应用_第2页
MATLAB程序设计与应用_第3页
MATLAB程序设计与应用_第4页
MATLAB程序设计与应用_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2 2章章 数值计算功能数值计算功能(2)(2)本章主要内容本章主要内容2.1 Matlab的数据类型;2.2 向量的建立及其运算;2.3 矩阵的创建及其运算;矩阵的创建及其运算;2.4 数组运算和多项式的各类运算。数组运算和多项式的各类运算。2.3 矩阵及其运算矩阵及其运算vMatlabMatlab原意为矩阵实验室,而且原意为矩阵实验室,而且MatlabMatlab的的所有的数值功能都是以矩阵为所有的数值功能都是以矩阵为基本单元基本单元进进行的,因此,行的,因此,MatlabMatlab中矩阵的运算功能可中矩阵的运算功能可谓最全面、最强大。谓最全面、最强大。v本节将对矩阵及其运算进行详细

2、的阐述。本节将对矩阵及其运算进行详细的阐述。2.3.1 2.3.1 矩阵的生成矩阵的生成1 1 直接输入小矩阵直接输入小矩阵2 2 创建创建M M文件输入大矩阵文件输入大矩阵1 1 直接输入小矩阵直接输入小矩阵v从键盘上直接输入矩阵是最方便、最常用和最好的从键盘上直接输入矩阵是最方便、最常用和最好的创建数值矩阵的方法,其适合较小的简单矩阵。创建数值矩阵的方法,其适合较小的简单矩阵。注意:注意: (1)输入矩阵时要以)输入矩阵时要以 为其标识,即矩阵的元素应在为其标识,即矩阵的元素应在 内部,内部,此时此时Matlab才将其识别为矩阵。才将其识别为矩阵。 (2)矩阵的同行元素之间可由)矩阵的同行

3、元素之间可由空格空格或或“,”分隔,行与行之分隔,行与行之间要用间要用“;”或或回车符回车符分隔。分隔。 (3)矩阵大小可不预先定义。)矩阵大小可不预先定义。 (4)矩阵元素可为运算)矩阵元素可为运算表达式表达式。 (5)若不想获得中间结果,以)若不想获得中间结果,以“;”结束。结束。 (6)无任何元素的)无任何元素的空矩阵空矩阵亦合法。亦合法。 (7)使用)使用半角半角输入。输入。【例【例2.72.7】创建一简单数值矩阵。】创建一简单数值矩阵。 a=1 2 3 a=1 2 3;1 1 11 1 1;4 4,5 5,66a =a = 1 2 3 1 2 3 1 1 1 1 1 1 4 5 6

4、4 5 6【例例2.82.8】创建一带有运算表达式的矩阵。】创建一带有运算表达式的矩阵。 b=sin(pi/3),cos(pi/4);log(9),tanh(6)b=sin(pi/3),cos(pi/4);log(9),tanh(6);此时矩阵已经建立并存储在内存中,只是没有显示在屏幕上此时矩阵已经建立并存储在内存中,只是没有显示在屏幕上而已。若用户想查看此矩阵,只需键入矩阵名。而已。若用户想查看此矩阵,只需键入矩阵名。b =b = 0.8660 0.7071 0.8660 0.7071 2.1972 1.0000 2.1972 1.00002 2 创建创建M M文件输入大矩阵文件输入大矩阵M

5、 M文件是一种可以在文件是一种可以在MatlabMatlab环境下运行的文本环境下运行的文本文件。它可以分为文件。它可以分为命令式文件命令式文件和和函数式文件函数式文件两种。两种。在此处主要用到的是命令式在此处主要用到的是命令式M M文件,用它的最文件,用它的最简单形式来创建大型矩阵。更加详细的内容将简单形式来创建大型矩阵。更加详细的内容将在第在第5 5章中讨论。章中讨论。 2.3.2 矩阵的基本数学运算矩阵的基本数学运算矩阵的基本数学运算包括:矩阵的基本数学运算包括: 矩阵的四则运算矩阵的四则运算 与常数的运算与常数的运算 逆运算逆运算 行列式运算行列式运算 幂运算幂运算 指数运算指数运算

6、对数运算对数运算 开方运算开方运算1 矩阵的四则运算矩阵的四则运算(1)矩阵的加和减)矩阵的加和减矩阵的加减法使用矩阵的加减法使用“+-运算符,格式与数字运运算符,格式与数字运算完全相同,但要求加减的两矩阵是同阶的。算完全相同,但要求加减的两矩阵是同阶的。【例如】【例如】a=1 2 3;2 3 4;3 4 5;b=1 1 1;2 2 2;3 3 3;c1=a+bc1=a-b(2 2)矩阵的乘法)矩阵的乘法 矩阵的乘法使用运算符矩阵的乘法使用运算符“* *”,要求相乘的双方要有相,要求相乘的双方要有相邻公共维,即若邻公共维,即若 A A为为i ij j阶,则阶,则B B必须为必须为j jk k阶

7、时,阶时,A A和和B B才才可以相乘。可以相乘。【例如】【例如】a1=1 2 3;2 3 4;3 4 5;b1=1 1 1;2 2 2;3 3 3;c1=a1*b1c2=b1*a1(3)矩阵的除法)矩阵的除法矩阵的除法可以有两种形式:左除矩阵的除法可以有两种形式:左除“”和右除和右除“/”。通常右除要快一点。通常右除要快一点。通常用矩阵的除法来求解方程组的解。通常用矩阵的除法来求解方程组的解。 对于方程组对于方程组Ax=b,其中其中A是一个(是一个(nm)阶的矩阵,阶的矩阵,则:则: 当当n=m且非奇异时,此方程称为且非奇异时,此方程称为恰定方程恰定方程; 当当nm时,此方程称为时,此方程称

8、为超定方程超定方程; 当当nm时,此方程称为时,此方程称为欠定方程欠定方程。 这这3种方程都可以用矩阵的除法求解。种方程都可以用矩阵的除法求解。【例【例2.9】求解恰定方程。】求解恰定方程。已知方程组已知方程组Ax=b,系数矩阵系数矩阵A= ,常数矩阵常数矩阵b=12521639201322871619201151923解解x=A-1*bA=125 216 39;201 32 287;16 19 201;b=15;19;23;x1=A(-1)*bx2=Abx=b/A;x3=x【例【例2.10】求解欠定方程】求解欠定方程已知方程组已知方程组Ax=b,系数矩阵系数矩阵A= ,常数矩阵常数矩阵b=解

9、:解:A=1 5 3;6 4 2; b=2;3; x=Ab注意:欠定方程的解不是惟一的,在注意:欠定方程的解不是惟一的,在Matlab中用除法解方程中用除法解方程时所得的解是所有解中范数最小的一个。时所得的解是所有解中范数最小的一个。15364223 【例例2.11】解超定方程。】解超定方程。已知方程组已知方程组Ax=b,系数矩阵系数矩阵A= , 常数矩阵常数矩阵b= 解:解:A=125 216 39;201 32 287;16 19 201;209 18 36; b=15;19;23;13; x=Ab 125216392013228716192012091836151923132 矩阵与常数

10、间运算矩阵与常数间运算 常数与矩阵的运算即是同此矩阵的各元素之间进行运算,常数与矩阵的运算即是同此矩阵的各元素之间进行运算,如数加是指每个元素都加上此常数,数乘即是每个元素都如数加是指每个元素都加上此常数,数乘即是每个元素都与此常数相乘。需要注意的是,与此常数相乘。需要注意的是,当进行数除时,常数通常当进行数除时,常数通常只能做除数。只能做除数。【例】【例】A=求求A+5,A-5,A*5,5*A,A/5,5/AA=1 5 3;6 4 2;B1=A+5B2=A-5B3=A*5B4=5*AB5=A/5B6=5/A1 5 36 4 23 矩阵的逆运算矩阵的逆运算 矩阵的逆运算是矩阵运算中很重要的一种

11、运算。矩阵的逆运算是矩阵运算中很重要的一种运算。它在线性代数及计算方法中都有很多的论述,而在它在线性代数及计算方法中都有很多的论述,而在Matlab中,众多的复杂理论只变成了一个简单的中,众多的复杂理论只变成了一个简单的命令命令inv。【例例2.12】求】求A矩阵的逆。矩阵的逆。 解:解:a=2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5;b1=inv(a)b2=a(-1) 4 矩阵的行列式运算矩阵的行列式运算 矩阵的行列式的值可由矩阵的行列式的值可由det()()函数计算得出。函数计算得出。【例【例2.13】求】求A矩阵及其逆的行列式之积。矩阵及其逆的行列式之积。解

12、:解:a=2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5;a1=det(a);a2=det(inv(a);b1=a1*a2b2=det(a*inv(a) 5 矩阵的幂运算矩阵的幂运算矩阵的幂运算的形式同数字的幂运算的形式相同,即矩阵的幂运算的形式同数字的幂运算的形式相同,即用算符用算符“”来表示。来表示。矩阵的幂运算在计算过程中与矩阵的某种分解有关,矩阵的幂运算在计算过程中与矩阵的某种分解有关,计算所得值并非是矩阵每个元素的幂值。计算所得值并非是矩阵每个元素的幂值。【例】求【例】求A A矩阵的矩阵的3 3次方次方解:解:a=2 1 -3 -1;3 1 0 7;-1 2

13、 4 -2;1 0 -1 5;a=2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5; b=a3 b=a3 2.3.3 矩阵的基本函数运算矩阵的基本函数运算 矩阵的基本函数运算是矩阵运算中最实用的部分,它主矩阵的基本函数运算是矩阵运算中最实用的部分,它主要包括特征值的计算、矩阵的秩的计算。要包括特征值的计算、矩阵的秩的计算。1 特征值函数特征值函数 矩阵的特征值可以由函数矩阵的特征值可以由函数eig计算得出。其中函数计算得出。其中函数eig可以可以给出特征值和特征向量的值。给出特征值和特征向量的值。 x,y=eig(A)说明说明 其中其中x为特征向量矩阵,为特征向量矩阵,

14、y为特征值矩阵。为特征值矩阵。 【例【例2.16】计算矩阵】计算矩阵A的特征值和特征向量。的特征值和特征向量。解:解:A=7 3 -2;3 4 -1;-2 -1 3; x,y=eig(A) 2 通用函数形式通用函数形式以上所介绍的针对矩阵的函数形式在实际运算中是远远不够的,以上所介绍的针对矩阵的函数形式在实际运算中是远远不够的,对其他常用的运算,如三角函数运算和双曲函数运算等,需要对其他常用的运算,如三角函数运算和双曲函数运算等,需要一种能够使用这些通用函数的形式。一种能够使用这些通用函数的形式。在在Matlab中使用通用函数的格式为中使用通用函数的格式为 funm(A,funname),),

15、其中其中A为输入矩阵变量,为输入矩阵变量,funname为调用的函数名。为调用的函数名。如如funm(b ,log), 其作用同于其作用同于logm(b), 而而 funm(b,sqrt)同于同于sqrtm(b)。因此,需要对常用的函数有个全面的了解,见表因此,需要对常用的函数有个全面的了解,见表2.6。表 2.6 基 本 函 数 表 函 数 名 功 能 函 数 名 功 能 sin 正 弦 acoth 反 双 曲 余 切 函 数 sinh 双 曲 正 弦 exp 指 数 函 数 asin 反 正 弦 log 自 然 对 数 函 数 asinh 反 双 曲 正 弦 log10 常 用 ( 以 1

16、0 为 底 ) 对 数 函 数 cos 余 弦 log2 以 2 为 底 对 数 函 数 cosh 双 曲 余 弦 pow2 以 2 为 底 的 幂 函 数 函 数 名 功 能 函 数 名 功 能 acos 反 余 弦 qrt 平 方 根 函 数 acosh 反 双 曲 余 弦 nextpow2 求 不 小 于 变 量 的 最 小 2 指 数 tan 正 切 函 数 ahs 模 函 数 tanh 双 曲 正 切 函 数 angle 相 角 函 数 atan 反 正 切 函 数 conj 复 共 轭 函 数 atan2 四 象 限 反 正 切 函 数 imag 复 矩 阵 虚 部 atanh 反

17、 双 曲 正 切 函 数 real 复 矩 阵 实 部 see 正 割 函 数 unwrap 打 开 相 角 函 数 sech 双 曲 正 割 函 数 isreal 实 阵 判 断 函 数 asec 反 正 割 函 数 Cplxpalr 调 整 数 为 共 轭 对 asech 反 双 曲 正 割 函 数 fix 朝 零 方 向 舍 入 csc 余 割 函 数 loor 朝 负 方 向 舍 入 csch 双 曲 余 割 函 数 cell 朝 正 方 向 舍 入 acsc 反 余 割 函 数 round 四 舍 五 入 函 数 acsch 反 双 曲 余 割 函 数 mod ( 带 符 号 ) 求

18、 余 函 数 cot 余 切 函 数 rein 无 符 号 求 余 函 数 coth 双 曲 余 切 函 数 sign 符 号 函 数 acot 反 余 切 函 数 3.秩函数秩函数由由rank函数实现函数实现E=1 1 1 5;2 2 2 5;3 3 3 5rank(E)2.3.5 特殊矩阵的生成特殊矩阵的生成1 空阵空阵 在在Matlab中定义中定义 为空阵。一个被赋予空阵的变量为空阵。一个被赋予空阵的变量具有以下性质:具有以下性质: (1)在)在Matlab工作内存中确实存在被赋空阵的变量;工作内存中确实存在被赋空阵的变量; (2)空阵中不包括任何元素,它的阶数是)空阵中不包括任何元素,

19、它的阶数是00; (3)空阵可以在)空阵可以在Matlab的运算中传递;的运算中传递; (4)可以用)可以用clear从内存中清除空阵变量。从内存中清除空阵变量。特别注意的是,空阵不是特别注意的是,空阵不是“0”,也不是,也不是“不存在不存在”。它可以用。它可以用来使矩阵按要求进行缩维。来使矩阵按要求进行缩维。例如例如a=1:18;a=reshape(a,3,6)al=a(:,1 3 4 6)a(:,2 5)= 可见用空阵缩维后的可见用空阵缩维后的a a阵与用坐标标识所得的阵与用坐标标识所得的a1a1阵相同。阵相同。2 2 几种常用的工具阵几种常用的工具阵(1)全)全0阵阵 全全0阵可由函数阵

20、可由函数zeros生成,其主要调用格式生成,其主要调用格式为:为:Zeros(N) 生成生成NN阶的全阶的全0阵。阵。Zeros(M,N)或或zeros(M,N) 生成生成MN阶的全阶的全0阵。阵。zeros(size(A)生成与生成与A同阶的全同阶的全0阵。阵。【例】【例】zeros(5)zeros(2,3)(2)单位阵单位阵 单位阵可由函数单位阵可由函数eye生成,其调用格式:生成,其调用格式:eye(N)生成生成NN阶的单位阵。阶的单位阵。eye(M,N)或或eye(M,N) 生成生成MN阶的单位阵。阶的单位阵。Eye(size(A)生成与生成与A同阶的单位阵。同阶的单位阵。【例】【例】

21、eye (5)eye (2,3) (3 3)全)全1 1阵阵 全全1 阵可由函数阵可由函数ones生成,其调用格式为:生成,其调用格式为:ones(N) 生成生成 NN阶的全阶的全1阵。阵。ones(M,N)或或ones(M,N) 生成生成MN阶的全阶的全1阵。阵。ones(size(A) 生成与生成与 A同阶的全同阶的全1阵。阵。【例】【例】ones (5)ones (2,3)2.3.6 2.3.6 矩阵的一些特殊操作矩阵的一些特殊操作1 变维变维 实现矩阵的变维操作有两种方法,实现矩阵的变维操作有两种方法,“:”和函数和函数“reshape”。 前者主要是针对前者主要是针对两个矩阵之间两个

22、矩阵之间的运算以实现变的运算以实现变维;而后者则是针对维;而后者则是针对一个矩阵一个矩阵的操作。的操作。 reshape函数的调用形式:函数的调用形式:reshape (X, M, N)【例例2.26】变维示例。】变维示例。a=1:12;b=reshape(a,2,6);c=zeros(3,4);c(:)= a(:)c= 1 4 7 10 2 5 8 11 3 6 9 12说明说明:若使用若使用“:”符号表达式进行变维操作,则这两个矩阵必须符号表达式进行变维操作,则这两个矩阵必须预先定义维数。预先定义维数。这两个命令对于数组来说同样适用,并且还有更广泛的意这两个命令对于数组来说同样适用,并且还

23、有更广泛的意义。义。2 2 矩阵的变向矩阵的变向 矩阵的变向操作包括矩阵的旋转、左右翻转和矩阵的变向操作包括矩阵的旋转、左右翻转和上下翻转,分别由函数上下翻转,分别由函数rot90,fliplr和和flipud来实现。来实现。函数函数flipdim用来对指定维进行翻转。用来对指定维进行翻转。 各函数调用形式:各函数调用形式:rot90(A)将将A逆时针方向旋转逆时针方向旋转900rot90(A,K)将将A逆时针方向旋转逆时针方向旋转(90*K)0,K值可为正值可为正值或负值值或负值fliplr(X)将将X左右翻转左右翻转flipup(X)将将X上下翻转上下翻转flipdim(X,dim)将将X

24、的第的第dim维翻转维翻转2 2 矩阵的变向矩阵的变向【例【例2.27】矩阵变向示例】矩阵变向示例c=1 4 7 10;2 5 8 11;3 6 9 12c1=flipdim(c,1)c2=flipdim(c,2)说明说明:使用的函数使用的函数flipdim的维数的维数dim为为1时,时,则对行翻转;则对行翻转;dim为为2时,则对列翻转。时,则对列翻转。3 矩阵的抽取矩阵的抽取(1)对角元素抽取函数)对角元素抽取函数diagdiag(X,k)抽取矩阵抽取矩阵X的第的第k条对角线的元素向量。条对角线的元素向量。k为为0时即为抽取主对角线,时即为抽取主对角线,k为正值时为上方第为正值时为上方第k

25、条条对角线,对角线,k为负值时为下方第为负值时为下方第k条对角线。条对角线。diag(X)相当于相当于diag(X,0),即抽取主对角线元素向即抽取主对角线元素向量。量。【例【例2.28】矩阵抽取示例。】矩阵抽取示例。a=1 1 1 1; 1 2 3 4; 1 3 6 10; 1 4 10 20v1= diag(a);v2=diag(a,2);v2=diag(a,-2)(2)上三角矩阵和下三角矩阵的抽取上三角矩阵和下三角矩阵的抽取tril(X)提取矩阵提取矩阵X的主下三角部分。的主下三角部分。tril(X,k)提取矩阵提取矩阵X的第的第k条对角线下面的部分条对角线下面的部分(包(包括第括第k条

26、对角线),条对角线),其中其中k的含义与的含义与diag函数中函数中k的含的含义相同。义相同。triu(X)为提取矩阵为提取矩阵X的主上三角部分。的主上三角部分。triu(X,k)提取矩阵提取矩阵X的第的第k条对角线上面的部分(包条对角线上面的部分(包括第括第k条对角线)条对角线)【例】三角抽取。【例】三角抽取。c=1 4 7 10;2 5 8 11;3 6 9 12;a1=tril(c,-1)a1=tril(c,2)4 矩阵的标识矩阵的标识 矩阵元素的标识在对矩阵的单个或多个元素进行引矩阵元素的标识在对矩阵的单个或多个元素进行引用、赋值和修改中起着非常重要的作用,熟练掌握各种用、赋值和修改中

27、起着非常重要的作用,熟练掌握各种标识方式可以方便灵活地对矩阵进行修改和援引。矩阵标识方式可以方便灵活地对矩阵进行修改和援引。矩阵的标识主要有的标识主要有元素标识方式元素标识方式、向量标识方式向量标识方式。(1)元素标识方式)元素标识方式A(i,j)整数整数i和和j分别标识元素在矩阵分别标识元素在矩阵A中的行数和列数。中的行数和列数。【例】【例】A=8 1 6;3 5 7;4 9 2A(2,3)(2 2)向量标识方式向量标识方式A A(vrvr,vcvc) vr和和vc分别为含有矩阵分别为含有矩阵A的行号和列号的单的行号和列号的单调向量,调向量,vr和和vc中如一个是中如一个是“:”,则表示取全

28、部,则表示取全部行行(vr为为“:”)或全部列(或全部列(vc为为“:”)。向量中的元)。向量中的元素必须合法,即不会超出矩阵的维数。素必须合法,即不会超出矩阵的维数。如如 A(1:3,3 5 7)表示取矩阵表示取矩阵A的第的第1,2,3行和第行和第 3,5,7列位置上的元素;列位置上的元素;A(:,2 4)表示取矩阵表示取矩阵A的的第第2和第和第4列的所有元素。列的所有元素。【例】【例】A=8 1 6;3 5 7;4 9 2A(1,1 3)A(:,1 3)ans =8 6ans=8 6 3 7 4 25 矩阵的扩展矩阵的扩展 利用小矩阵进行组合,可以组成大的矩阵利用小矩阵进行组合,可以组成大

29、的矩阵,在矩阵分块中应用较多,有些时候把一些分在矩阵分块中应用较多,有些时候把一些分散的数据合成一个大矩阵便于分析和计算也散的数据合成一个大矩阵便于分析和计算也要进行小矩阵的组合。可以利用对矩阵标识要进行小矩阵的组合。可以利用对矩阵标识块的赋值命令来实现矩阵的合并。块的赋值命令来实现矩阵的合并。【例】利用对矩阵标识块的赋值命【例】利用对矩阵标识块的赋值命令生成大矩阵令生成大矩阵v = 1 2 6 20 ;a1= -v ( 2 : 4 ); eye ( 2 ), zeros(2,1)【例】利用小矩阵的例】利用小矩阵的组合来生成大矩阵组合来生成大矩阵V1=1 2 3 4V2=2 3 4 5V3=V

30、1;V2V4=3 4 5 6V5=V3;V2V6=V1 V2 V4V7=V1;V2;V4注意注意:利用小矩阵的组合生成大矩阵时,要严格注意矩阵大:利用小矩阵的组合生成大矩阵时,要严格注意矩阵大小的匹配。小的匹配。2.4 2.4 数组及其运算数组及其运算 2.4.1 基本数组运算基本数组运算1 数组的四则运算数组的四则运算 矩阵的加减法和数组的加减法完全统一。矩阵的加减法和数组的加减法完全统一。 在乘除法中由于数组的对应元素间的运算的特点,使在乘除法中由于数组的对应元素间的运算的特点,使数组运算中的乘除法与矩阵的乘除法有相当大的区别。数组运算中的乘除法与矩阵的乘除法有相当大的区别。数组的乘除法是

31、指数组的乘除法是指两同维数组两同维数组间对应元素之间的乘除法,间对应元素之间的乘除法,它们的运算符为它们的运算符为“.*”和和“./”或或“.”。【例如】【例如】a1=1 2 3;2 3 4;3 4 5;b1=1 1 1;2 2 2;3 3 3;c1=a1.b1c2=a1./b1d=c1.*c2f=a1+b1f=a1-b12 2数组与常数间运算数组与常数间运算 数组与常数之间的数加和数减运算在运数组与常数之间的数加和数减运算在运算符上可以加算符上可以加“.”.”,也可以不加,也可以不加“.”.”,但要注意加但要注意加“.”.”时要把常数写在前面。时要把常数写在前面。【例如】【例如】b1=1 1

32、 1;2 2 2;3 3 3;b1=1 1 1;2 2 2;3 3 3;d1=3.+b1d1=3.+b1d2=3+b1d2=3+b1g1=3.-b1g1=3.-b1g2=3-b1g2=3-b1 3 数组的幂运算数组的幂运算数组的幂运算运算符为数组的幂运算运算符为“.”,它表示每个数组元,它表示每个数组元素的幂运算,这是同矩阵的幂运算不同的,看下面素的幂运算,这是同矩阵的幂运算不同的,看下面的例子。的例子。【例】【例】a=1 2 3;1 1 1; 2 2 2;b1=a.2b2=a22.5 多项式运算多项式运算2.5.1 多项式的表示方法多项式的表示方法 对于多项式对于多项式用以下的行向量表示:用

33、以下的行向量表示:这样就把多项式的问题转化为向量问题。这样就把多项式的问题转化为向量问题。1 系数向量的直接输入法系数向量的直接输入法 由于在由于在Matlab中的多项式是以向量形式储存中的多项式是以向量形式储存的,因此,最简单的多项式输入即为直接的向量的,因此,最简单的多项式输入即为直接的向量输入,软件将向量元素按降幂顺序分配给各系数输入,软件将向量元素按降幂顺序分配给各系数值。向量可以为行向量,也可以是列向量。值。向量可以为行向量,也可以是列向量。 【例【例 2.35】输入多项式】输入多项式p=1 -5 6 -33;poly2sym(p)x3-526*x-33说明:其中的说明:其中的pol

34、y2sym是符号工具箱中是符号工具箱中的函数,可将多项式向量表示成为符号多的函数,可将多项式向量表示成为符号多项式形式。项式形式。 2 特征多项式输入法特征多项式输入法多项式创建的另一个途径是从矩阵求其特征多项式获得,由函多项式创建的另一个途径是从矩阵求其特征多项式获得,由函数数poly实现。实现。【例【例2.36】a=1 2 3; 2 3 4;3 4 5;p1=poly(a) poly2sym(p1)说明:说明:(1)由特征多项式生成的多项式的首项系数一定是)由特征多项式生成的多项式的首项系数一定是1。(2)n阶特征矩阵一般产生阶特征矩阵一般产生n次多项式。次多项式。3 由根创建多项式由根创

35、建多项式由给定的根也可产生其对应的多项式,此功能还由函数由给定的根也可产生其对应的多项式,此功能还由函数poly 实现。实现。 【例【例2.37】由给定的根向量生成其对应多项式。由给定的根向量生成其对应多项式。root=1 2 3;p=poly(root)poly2sym(p)2.5.2 多项式运算多项式运算1求多项式的值求多项式的值 求多项式的值可以有两种形式,对应着两种求多项式的值可以有两种形式,对应着两种算法:一种在输入变量值代入多项式计算时是以算法:一种在输入变量值代入多项式计算时是以数组为单元的,此时的计算函数为数组为单元的,此时的计算函数为polyval;另另一种是以矩阵为计算单元,进行矩阵式运算,以一种是以矩阵为计算单元,进行矩阵式运算,以求得多项式的值,此时的函数为求得多项式的值,此时的函数为polyvalm。 这两种计算在数值上有很大的差别,这主要这两种计算在数值上有很大的差别,这主要源于矩阵计算和数组运算的差别。源于矩阵计算和数组运算的差别。【例【例2.38】对同一多项式及变量值分别计算矩阵】对同一多项式及变量值分别计算矩阵计算值和数

温馨提示

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

评论

0/150

提交评论