《MATLAB数值运算》PPT课件.ppt_第1页
《MATLAB数值运算》PPT课件.ppt_第2页
《MATLAB数值运算》PPT课件.ppt_第3页
《MATLAB数值运算》PPT课件.ppt_第4页
《MATLAB数值运算》PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第3章 MATLAB数值运算,主讲:刘忠伟,3.1 多项式,matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。 如: f(x)=anxn+an-1xn-1+a0 可用行向量 p=an an-1 a1 a0表示,一、多项式的表达和创建,多项式f(x)= s4+1 可用行向量 p=1 0 0 0 1表示,3.1 多项式,二、多项式的四则运算,多项式的四则运算包括多项式的加减运算及乘法、除法运算。,多项式的加减运算在阶次相同的情况下可直接运算,若两个相加减的多项式阶次不同,则低价多项式必须用零填补高阶系数,使其与高阶多项式有相同的阶次。,或者自定义函数来完成,详见教材P66的polyadd(请同学们上机时做一下)。,1、多项式的加减运算,3.1 多项式,二、多项式的四则运算,2、多项式的乘法运算,函数conv(P1,P2)用于求多项式P1和P2的乘积。这里,P1、P2是两个多项式系数向量。,例:a(x)=x2+2x+3; b(x)=4x2+5x+6; c (x)= = (x2+2x+3)(4x2+5x+6) a=1 2 3;b=4 5 6; c=conv(a,b) c = 4.00 13.00 28.00 27.00 18.00 c(x)= 4 x4 + 13 x3 + 28 x2 + 27 x + 18,3.1 多项式,二、多项式的四则运算,3、多项式的除法运算,函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。 deconv是conv的逆函数,即有P1=conv(P2,Q)+r。,3.1 多项式,三、多项式的求值和求根运算,1、多项式求值,MATLAB提供了两种求多项式值的函数:polyval与polyvalm,它们的输入参数均为多项式系数向量P和自变量x。两者的区别在于前者是代数多项式求值,而后者是矩阵多项式求值。,3.1 多项式,三、多项式的求值和求根运算,(1)代数多项式求值 polyval函数用来求代数多项式的值,其调用格式为: Y=polyval(P,x) 若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。,3.1 多项式,三、多项式的求值和求根运算,(2)矩阵多项式求值 polyvalm函数用来求矩阵多项式的值,其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,它以方阵为自变量求多项式的值。,3.1 多项式,三、多项式的求值和求根运算,2、多项式求根,n次多项式具有n个根,当然这些根可能是实根,也可能含有若干对共轭复根。MATLAB提供的roots函数用于求多项式的全部根,其调用格式为: x=roots(P) 其中P为多项式的系数向量,求得的根赋给向量x,即x(1),x(2),x(n)分别代表多项式的n个根。,3.1 多项式,三、多项式的求值和求根运算,2、多项式求根,例: 求多项式x4+8x3-10的根。 命令如下: A=1,8,0,0,-10; x=roots(A) 若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为: P=poly(x) 若x为具有n个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋给向量P。,3.1 多项式,四、多项式的构造,利用工具箱中的函数poly2sym来构造多项式。,例: 构造多项式x4+3x3-15x3-2x+9的根。 命令如下: A=1,3,-15,-2,9; poly2sym(A),3.2 插值和拟合,一、插值 插值的定义是对某些集合给定的数据点之间函数的估值方法。 当不能很快地求出所需中间点的函数时,插值是一个非常有价值的工具。 Matlab提供了一维、二维、 三次样条等许多插值选择。 多项式插值函数:interp1,二、拟合 拟合函数:polyfit 调用方法: P=polyfit(x,y,n) p,s=polyfit(x,y,n) 说明:x,y为已知的数据组,n为要拟合的多项式的阶次,向量p为返回的要拟合的多项式的系数,向量s为调用函数polyval获得的错误预估计值。,3.2 插值和拟合,3.5 稀疏矩阵,矩阵的存储方式: 1.全元素(Full) 存储 完全矩阵 2.稀疏(Sparse)存储稀疏矩阵 稀疏矩阵存在的必要性: 对大多数元素数值为0的矩阵,若采用满阵方式表示,则0元素将占用相当的存储空间。 稀疏矩阵的特点: 只存储“非零元素”值(按列)和“非零元素”的位置,3.5 稀疏矩阵,对大多数元素数值为0的矩阵,创建稀疏矩阵 稀疏矩阵建立指令 sparse 1、 B = sparse (A) 例. A = 2 0 0 0; 0 0 0 1; 0 4 0 0 A = 2 0 0 0 0 0 0 1 0 4 0 0 B = sparse (A) B = (1,1) 2 (3,2) 4 (2,4) 1,一、稀疏矩阵的建立, C=1 2 3 4;5 6 7 8;3 7 2 9; C = 1 2 3 4 5 6 7 8 3 7 2 9 B+C ans = 3 2 3 4 5 6 7 9 3 11 2 9,3.5 稀疏矩阵,一、稀疏矩阵的建立,2、 S = sparse (i,j,s,m,n) “三元组”表示法 i 非零元素所在的行序号 j 非零元素所在的列序号 s 非零元素的数值 m 矩阵的行 n 矩阵的列,3.5 稀疏矩阵,例 15 0 0 22 0 -15 0 11 3 0 0 0 A= 0 0 0 -6 0 0 0 0 0 0 0 0 91 0 0 0 0 0 0 0 28 0 0 0 s=15 91 11 3 28 22 -6 -15; i=1 5 2 2 6 1 3 1; j=1 1 2 3 3 4 4 6; A=sparse(i,j,s,6,6) A = (1,1) 15 (5,1) 91 (2,2) 11 (2,3) 3 (6,3) 28 (1,4) 22 (3,4) -6 (1,6) -15, full(A) ans = 15 0 0 22 0 -15 0 11 3 0 0 0 0 0 0 -6 0 0 0 0 0 0 0 0 91 0 0 0 0 0 0 0 28 0 0 0,3.5 稀疏矩阵,例 A = sparse (1 3 2,1 2 4,2 4 1,3,4) A = ? full(A) ans = ?,3.5 稀疏矩阵,例 A = sparse (1 3 2,1 2 4,2 4 1,3,4) A = (1,1) 2 (3,2) 4 (2,4) 1 full(S) ans = ?,3.5 稀疏矩阵,例 A = sparse (1 3 2,1 2 4,2 4 1,3,4) A = (1,1) 2 (3,2) 4 (2,4) 1 full(A) ans = 2 0 0 0 0 0 0 1 0 4 0 0,3.5 稀疏矩阵,在MATLAB命令行窗口 中键入指令help sparfun, 可以得到稀疏矩阵运算函 数列表,3.5 稀疏矩阵,1、speye(创建单位稀疏矩阵) speye(m,n)在行、列相同位置上的元素值为“1”,其余位置上的元素值为“0” speye(m)是speye(m,m)的简写。在对角线上的元素值为“1”,其余位置上的元素值为“0” 例: A=speye(3,4) A = (1,1) 1 (2,2) 1 (3,3) 1 full(A) ans = 1 0 0 0 0 1 0 0 0 0 1 0,3.5 稀疏矩阵,2、find(获取矩阵非零元素的索引向量)find(A) 例: S = sparse (1 3 2,1 2 4,2 4 1,3,4) S = (1,1) 2 (3,2) 4 (2,4) 1 find(S) ans = 1 6 11,3.5 稀疏矩阵,3、nonzeros(获取矩阵的非零元素向量)nonzeros(A) 例: S = sparse (1 3 2,1 2 4,2 4 1,3,4) S = (1,1) 2 (3,2) 4 (2,4) 1 nonzeros(S) ans = 2 4 1,3.5 稀疏矩阵,4、nnz(获取矩阵的非零元素的个数)nnz(A) 例: S = sparse (1 3 2,1 2 4,2 4 1,3,4) S = (1,1) 2 (3,2) 4 (2,4) 1 nnz(S) ans = 3,3.5 稀疏矩阵,5、spones(将稀疏矩阵中的非零元素用数字1代替)spones(A) 例: S = sparse (1 3 2,1 2 4,2 4 1,3,4) S = (1,1) 2 (3,2) 4 (2,4) 1 A=spones(S) A = (1,1) 1 (3,2) 1 (2,4) 1, full(A) ans = 1 0 0 0 0 0 0 1 0 1

温馨提示

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

评论

0/150

提交评论