- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.9 稀疏矩阵 5.9.1 矩阵存储方式 1. 矩阵的完全存储模式 2. 稀疏矩阵的存储方式 5.9.2 稀疏存储方式的产生与转化 1. 将一个完全存储方式的转化为稀疏存储方式 函数B=sparse(A)将矩阵A转化为稀疏存储方式的矩阵B。 sparse函数还有其他一些格式: sparse(m,n) 生成一个m×n的所有元素都是0的稀疏矩阵。 sparse(u,v,S) u、v、S是三个等长的向量。 此外,还有一些和稀疏矩阵操作有关的函数。例如 [U,V,S]=find(A) 返回矩阵A中非0元素的下标和元素。这里产生的U、V、S可作为sparse(u,v,s)的参数。 full(A) 返回和稀疏存储矩阵A对应的完全存储方式矩阵。 目录 2. 产生一个稀疏矩阵 把要建立的稀疏矩阵的非0元素及其所在行和列的位置表示出来后由MATLAB自己产生其稀疏存储方式,这需要使用spconvert函数。调用格式为: B=spconvert(A) 其中A为一个m×3或m×4的矩阵,其每行表示一个非0元素,m是非0元素的个数。 3. 单位稀疏矩阵的产生 单位矩阵只有对角线元素为1,其他元素都为0,是一种具有稀疏特征的矩阵。我们知道,函数eye产生一个完全存储方式的单位矩阵。MATLAB还有一个产生稀疏存储方式的单位矩阵的函数,这就是speye。函数speye(m,n)返回一个m×n的稀疏存储单位矩阵。 目录 5.4.3 曲线拟合 MATLAB中,提供了解决使用最小二乘法进行曲线拟合的函数。调用格式为: [P,S]=polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。 其中X、Y是两个等长的向量,P是一个长度为m+1的向量。 目录 例5.32 用一个5次多项式在区间[0,2π]内逼近函数sin(x)。 命令如下: 目录 X=linspace(0,2*pi,50);Y=sin(X); [P,S]=polyfit(X,Y,5) %得到5次多项式的系数和误差 plot(X,Y,k*,X,polyval(P,X),k-) P = -65/11683 287/3284 -58/147 578/2153 1528/1737 143/13993 S = R: [6x6 double] df: 44 normr: 132/3913 5.4.4 多项式计算 1. 多项式的建立 已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的向量。 目录 R=[-1 -2 -3 -4+3*j -4-3*j]; %输入多项式根的向量 P=poly(R) %构造多项式的系数向量 P = 1 14 84 244 323 150 2. 多项式求根 求多项式p(x)的根的函数是roots(P),这里,P是p(x)的系数向量,该函数返回方程p(x)=0的全部根(含重根,复根)。 例: 已知5阶多项式的系数向量为P=[1 8 28 58 67 30],求多项式的根 P=[1 8 28 58 67 30]; R=roots(P) R = -1.00000000000000 + 2.00000000000000i -1.00000000000000 - 2.00000000000000i -2.99999999999998 -2.00000000000001 -1.00000000000000 3. 多项式求值 求多项式p(x)在某点或某些点的函数值的函数是polyval(P,x)。若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。 例5.33 已知一个多项式3x5+4x3-5x2-7.2x+5,计算: (1)计算f(x)=0 的全部根。 (2)由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。 (3)计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。 命令如下: P=[3,0,4,-5,-7.2,5]; X=roots(P) %求方程f(x)=0的根 G=poly(X) %求多项式g(x) X0=[5,7.8,9.6,12.3]; f=polyval(P,X0) %求多项式f(x)
文档评论(0)