《MATLAB数值运算》PPT课件.ppt

上传人:tia****nde 文档编号:11499110 上传时间:2020-04-26 格式:PPT 页数:27 大小:823.50KB
返回 下载 相关 举报
《MATLAB数值运算》PPT课件.ppt_第1页
第1页 / 共27页
《MATLAB数值运算》PPT课件.ppt_第2页
第2页 / 共27页
《MATLAB数值运算》PPT课件.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第3章MATLAB数值运算,主讲:刘忠伟,3.1多项式,matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。如:f(x)=anxn+an-1xn-1+a0可用行向量p=anan-1a1a0表示,一、多项式的表达和创建,多项式f(x)=s4+1可用行向量p=10001表示,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=123;b=456;c=conv(a,b)c=4.0013.0028.0027.0018.00c(x)=4x4+13x3+28x2+27x+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的矩阵,创建稀疏矩阵稀疏矩阵建立指令sparse1、B=sparse(A)例.A=2000;0001;0400A=200000010400B=sparse(A)B=(1,1)2(3,2)4(2,4)1,一、稀疏矩阵的建立,C=1234;5678;3729;C=123456783729B+Cans=3234567931129,3.5稀疏矩阵,一、稀疏矩阵的建立,2、S=sparse(i,j,s,m,n)“三元组”表示法i非零元素所在的行序号j非零元素所在的列序号s非零元素的数值m矩阵的行n矩阵的列,3.5稀疏矩阵,例1500220-150113000A=000-60000000091000000028000s=15911132822-6-15;i=15226131;j=11233446;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=1500220-150113000000-60000000091000000028000,3.5稀疏矩阵,例A=sparse(132,124,241,3,4)A=?full(A)ans=?,3.5稀疏矩阵,例A=sparse(132,124,241,3,4)A=(1,1)2(3,2)4(2,4)1full(S)ans=?,3.5稀疏矩阵,例A=sparse(132,124,241,3,4)A=(1,1)2(3,2)4(2,4)1full(A)ans=200000010400,3.5稀疏矩阵,在MATLAB命令行窗口中键入指令helpsparfun,可以得到稀疏矩阵运算函数列表,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)1full(A)ans=100001000010,3.5稀疏矩阵,2、find(获取矩阵非零元素的索引向量)find(A)例:S=sparse(132,124,241,3,4)S=(1,1)2(3,2)4(2,4)1find(S)ans=1611,3.5稀疏矩阵,3、nonzeros(获取矩阵的非零元素向量)nonzeros(A)例:S=sparse(132,124,241,3,4)S=(1,1)2(3,2)4(2,4)1nonzeros(S)ans=241,3.5稀疏矩阵,4、nnz(获取矩阵的非零元素的个数)nnz(A)例:S=sparse(132,124,241,3,4)S=(1,1)2(3,2)4(2,4)1nnz(S)ans=3,3.5稀疏矩阵,5、spones(将稀疏矩阵中的非零元素用数字1代替)spones(A)例:S=sparse(132,124,241,3,4)S=(1,1)2(3,2)4(2,4)1A=spones(S)A=(1,1)1(3,2)1(2,4)1,full(A)ans=100000010100,3.5稀疏矩阵,6、issparse(判断输入参数是否为稀疏矩阵)issparse(A):是,则ans为“1”否,则ans为“0”例:S=sparse(132,124,241,3,4)S=(1,1)2(3,2)4(2,4)1issparse(S)ans=1A=123;456;issparse(A)ans=0,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!