第四章 数值计算优秀PPT.ppt
《第四章 数值计算优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第四章 数值计算优秀PPT.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 数值计算1第一页,本课件共有50页数值计算内容数值计算内容:数值计算包括数值计算包括:多项式运算多项式运算,线性方程组求解线性方程组求解,矩阵特征值问题的矩阵特征值问题的解解,卷积卷积,数据分析数据分析,泛函指令的使用泛函指令的使用,信号处理和系统分析信号处理和系统分析.4.1 多项式运算多项式运算多项式运算是数学中最基本的运算之一多项式运算是数学中最基本的运算之一.多项式一般可多项式一般可以表示为以表示为:f(x)=a0 xn+a1xn-1+a2xn-2+an-1x+an对于这种表示形式,很容易用一个行向量表示,即:对于这种表示形式,很容易用一个行向量表示,即:T=a0,a1,a2,
2、an-1,an在在MATLAB中中,多项式正是用这样一个行向量表示的多项式正是用这样一个行向量表示的,系数系数是按降序排列的是按降序排列的幂幂2第二页,本课件共有50页4.1.1 多项式构造多项式构造多项式可以直接用向量表示多项式可以直接用向量表示,因此因此,构造多项式最简单的方法是构造多项式最简单的方法是直接输入向量直接输入向量.例例4.1.1-1 直接输入向量构造直接输入向量构造 f(x)=2x5+5x4+4x2+x+4T=2,5,0,4,1,4;fx=poly2sym(T)函数函数poly2sym是符号工具箱中的函数是符号工具箱中的函数,在用此种方式在用此种方式构造多项式时构造多项式时,
3、必须把多项式各项的系数写完整必须把多项式各项的系数写完整,而不而不管此项的系数是否为管此项的系数是否为0fx=2*x5+5*x4+4*x2+x+43第三页,本课件共有50页r=1,2,3,4;T1=poly(r);y=poly2sym(T1)y_class=class(y)例例4.1.1-2 用多项式的根构造多项式用多项式的根构造多项式,根为根为r=1,2,3,4T1=1 -10 35 -50 24y=x4-10*x3+35*x2-50*x+24y_class=sym4第四页,本课件共有50页4.1.2 多项式的运算多项式的运算多项式的运算主要包括多项式的四则运算多项式的运算主要包括多项式的四
4、则运算,导数运算导数运算,估值估值运算运算,求根运算以及多项式的拟合等求根运算以及多项式的拟合等1 多项式的四则运算多项式的四则运算多项式四则运算主要是多项式的加多项式四则运算主要是多项式的加,减减,乘乘,除除.其中其中,多项多项式的加减运算要求两个相加式的加减运算要求两个相加,减的多项式的大小必须相等减的多项式的大小必须相等,此时加此时加,减才有效减才有效.当两个相加当两个相加,减的多项式阶次不同时必减的多项式阶次不同时必须通过补须通过补0使其相同使其相同.加加/减减-+/-乘/除除-conv,deconvT=deconv(T1,T3)T,r=deconv(T1,T3)商多项式商多项式余式余
5、式T3为分母为分母5第五页,本课件共有50页T1=2,5,0,4,1,4;T2=0,0,5,1,3,2;T3=5,1,3,2;%除法运算中分母多项式第一个系数不能为除法运算中分母多项式第一个系数不能为0T=T1+T2;%必须是同维的才能相加必须是同维的才能相加T_add=poly2sym(T)T=T1-T2;T_sub=poly2sym(T)T=conv(T1,T2);%乘法不要求同维乘法不要求同维T_mul=poly2sym(T)A_coe,A_r=deconv(T1,T3);T_coe=poly2sym(A_coe)T_rem=poly2sym(A_r)例例4.1.1-3 多项式的加减乘除
6、运算多项式的加减乘除运算f1(x)=2x5+5x4+4x2+x+4,f2(x)=5x3+x2+3x+26第六页,本课件共有50页例例4.1.1-4 多项式求值多项式求值,求上式求上式f1(x)在在x=0.5处的函数值处的函数值T1=2,5,0,4,1,4;x=0.5;y=polyval(T1,x)y=5.87507第七页,本课件共有50页3 多项式的导数运算多项式的导数运算-polyder例例4.1.1-6 求多项式求多项式f1(x)=2x5+5x4+4x2+x+4的导数的导数 T1=2,5,0,4,1,4;h=polyder(T1);poly2sym(h)2 多项式求根多项式求根-roots
7、例例4.1.1-5 求多项式求多项式f1(x)=2x5+5x4+4x2+x+4的根的根 T1=2,5,0,4,1,4;root=roots(T1);root=-2.7709 0.5611+0.7840i 0.5611-0.7840i -0.4257+0.7716i -0.4257-0.7716i10*x4+20*x3+8*x+18第八页,本课件共有50页4 拟合和插值拟合和插值-polyfit,interp1例例4.1.1-7 对下列数据对对下列数据对(x0,y0)求三次拟合多项式并绘图求三次拟合多项式并绘图.x0=0:0.1:1;y0=-0.447,1.978,3.11,5.25,5.02,
8、4.66,4.01,4.58,3.45,5.35,9.22;p=polyfit(x0,y0,n);p,s=polyfit(x0,y0,n);x0,y0-给定数据对给定数据对n-拟合出的多项式次数拟合出的多项式次数p-多项式向量多项式向量s-偏差信息偏差信息yi=interp1(x0,y0,xi,cubic);xi,yi-得到的新的插值点得到的新的插值点cubic-插值方式插值方式9第九页,本课件共有50页x0=0:0.1:1;y0=-0.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22;n=3;%设定拟合次数为设定拟合次数为3p,s=
9、polyfit(x0,y0,n);%得到拟合多项式向量和相关偏差信得到拟合多项式向量和相关偏差信息息 xx=0:0.01:1;yy=polyval(p,xx);%按拟合曲线计算采样值按拟合曲线计算采样值n1=6;%设定拟合次数为设定拟合次数为6p1,s1=polyfit(x0,y0,n1);yy1=polyval(p1,xx);plot(xx,yy,-b,xx,yy1,-m,x0,y0,.r,MarkerSize,20);y3=polyval(p,0.5);y6=polyval(p1,0.5);text(0.5,y3-0.3,n=3);text(0.5,y6+0.2,n=6);10第十页,本课
10、件共有50页y=51.48x3-77.74x2+35.06x-0.20y=348.21x6-1060.23x5+1297.68x4-758.90 x3+181.00 x2+1.00 x+0.4811第十一页,本课件共有50页拟合只能在给定数据所限定的区间内使用拟合只能在给定数据所限定的区间内使用,不要任意向外拓展不要任意向外拓展例例4.1.1-8 按上例所给数据研究插值按上例所给数据研究插值,并观察插值和拟合的区别并观察插值和拟合的区别.x0=0:0.1:1;y0=-0.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22;xi=0:0.
11、02:1;yi=interp1(x0,y0,xi,cubic);subplot(1,2,1);plot(xi,yi,-b,x0,y0,.r,MarkerSize,20);xlabel(x),ylabel(y);p,s=polyfit(x0,y0,3);xx=0:0.01:1;yy=polyval(p,xx);subplot(1,2,2);plot(xx,yy,-r,x0,y0,.r,MarkerSize,20);xlabel(x);ylabel(y);12第十二页,本课件共有50页插值插值拟合拟合13第十三页,本课件共有50页插值方式插值方式:linear-线性插值线性插值nearest-最近
12、插值最近插值cubic-三次多项式插值三次多项式插值spline-样条插值样条插值pchip-分段三次分段三次Hermite插值插值v5cubic-MATLAB 5.0版的三次多项式插值版的三次多项式插值.拟合和插值的区别拟合和插值的区别:曲线拟合是研究如何寻找曲线拟合是研究如何寻找“平滑平滑”曲线曲线最好地表现带噪声的最好地表现带噪声的“测量数据测量数据”,但并不要求拟合曲线通但并不要求拟合曲线通过这些过这些“测试数据测试数据”点点.插值是在认定所给数据完全正确的插值是在认定所给数据完全正确的情况下情况下,研究如何平滑地估算出研究如何平滑地估算出“基准数据基准数据”之间其他点的之间其他点的函
13、数值函数值,因此插值一定通过因此插值一定通过“基准数据基准数据”14第十四页,本课件共有50页通俗地讲通俗地讲,拟合就是由已知点得到一条曲线拟合就是由已知点得到一条曲线,使该曲线使该曲线最能反映点所代表的规律最能反映点所代表的规律.比如做欧姆定理的实验的时候比如做欧姆定理的实验的时候,由于实验中存在误差由于实验中存在误差,最后拟合得到的曲线是一条直线最后拟合得到的曲线是一条直线,而且肯定只有部分点落在拟合的直线上而且肯定只有部分点落在拟合的直线上,但此时该直线和但此时该直线和测试点的方差最小测试点的方差最小.由拟合直线的斜率就可以知道电阻的由拟合直线的斜率就可以知道电阻的阻值阻值.拟合是探测事
14、物变化规律的办法拟合是探测事物变化规律的办法.插值就是根据函数上某些已知点插值就是根据函数上某些已知点(或实验数据或实验数据),按一定规律按一定规律(插值方法插值方法)寻求未知的点寻求未知的点,比如已知一个常用对数比如已知一个常用对数y=log(x)表表,是按照是按照x=0.1:0.1:10制表的制表的,如果按已知数据求如果按已知数据求y=log(2.897)就可以用插值得到就可以用插值得到.表制得越密表制得越密,插值越准确插值越准确15第十五页,本课件共有50页例例4.1.1-9 已知通过实验得到电压和电流的数值如下:已知通过实验得到电压和电流的数值如下:i0=0:0.5:10;v0=0,9
15、8,202,306,395,506,592,708,789,890,1009,1108,1186,1310,1391,1510,1601,1716,1782,1920,2014;按一次按一次,二次二次,三次多项式对数值关系进行拟合三次多项式对数值关系进行拟合说明:说明:为保证较好的拟合效果,多项式阶数要取得适当,过低,残为保证较好的拟合效果,多项式阶数要取得适当,过低,残差较大,过高,拟合模型将包含噪声影响,通常要保证拟合差较大,过高,拟合模型将包含噪声影响,通常要保证拟合阶数小于数据对的数目。阶数小于数据对的数目。16第十六页,本课件共有50页i0=0:0.5:10;v0=0,98,202,
16、306,395,506,592,708,789,890,1009,1108,.1186,1310,1391,1510,1612,1716,1782,1920,2014;n1=1;p1,s=polyfit(i0,v0,n1);n2=2;p2,s=polyfit(i0,v0,n2);n3=3;p3,s=polyfit(i0,v0,n3);ii=0:0.1:10;v1=polyval(p1,ii);v2=polyval(p2,ii);v3=polyval(p3,ii);subplot(1,3,1),plot(ii,v1,-b,i0,v0,.r,MarkerSize,8),xlabel(一次拟合一次拟
17、合);subplot(1,3,2),plot(ii,v2,-b,i0,v0,.r,MarkerSize,8),xlabel(二次拟合二次拟合);subplot(1,3,3),plot(ii,v3,-b,i0,v0,.r,MarkerSize,8),xlabel(三三次拟合次拟合);p1=201.00,-2.89P2=0.31,197.90,2.02P3=0.03,-0.10,199.49,0.8517第十七页,本课件共有50页p1=201.00,-2.89P2=0.31,197.90,2.02P3=0.03,-0.10,199.49,0.8518第十八页,本课件共有50页对于含对于含n个未知数
18、的个未知数的n个方程构成的方程组个方程构成的方程组Ax=b,在线性代数教科在线性代数教科书中书中,最常介绍的解法有最常介绍的解法有:Cramer法法;逆阵法逆阵法,即即x=A-1b;高斯消元法高斯消元法;LU法法 对于维数不高对于维数不高,条件数不大的矩阵条件数不大的矩阵,以上四种所得结果不会有明显以上四种所得结果不会有明显的差别的差别.但前三种解法的更多的意义在理论上但前三种解法的更多的意义在理论上,而不在实际的数值而不在实际的数值计算上计算上.在在MATLAB中中,方程采用方程采用LU法求解法求解,并且出于算法稳定性并且出于算法稳定性的考虑的考虑,行列式和逆的计算也都是在行列式和逆的计算也
19、都是在LU分解的基础上进行的分解的基础上进行的MATLAB中的四条指令中的四条指令:L,U,P=lu(A)-矩阵的矩阵的LU分解分解,使使LU=PA.多种格式多种格式.det(A)-求矩阵求矩阵A的行列式的行列式,它由它由detA=detUuii 算得算得inv(A)-求矩阵求矩阵A的逆的逆,由由A-1=U-1L-1P算得算得x=Ab-除法指令求方程的解除法指令求方程的解(对恰定方程对恰定方程,采用采用LU法执行法执行)4.2.1 方程组求解方程组求解4.2 线性方程组的解线性方程组的解19第十九页,本课件共有50页对于方程组对于方程组Ax=b,采用采用x=Ab计算,如果方程组为计算,如果方程
20、组为yC=d,要要使用右除,即指令为使用右除,即指令为y=d/CAx=bxA=byC=dx=Abx=b/Ay=d/C例例4.2.1-1 解下列方程组解下列方程组2x1+2x2+3x3=34x1+7x2+7x3=1-2x1+4x2+5x3=-7A=2,2,3;4,7,7;-2,4,5,b=3;1;-7x=Ab,y=b/A求解方程时求解方程时,尽量不要使用指令尽量不要使用指令inv(A)*b进行进行,它不仅计算速度它不仅计算速度没有除法快没有除法快,而且计算精度也没除法高而且计算精度也没除法高.此外此外,除法还适用于除法还适用于“超定超定”和和“欠定欠定”方程方程x=9.00 -36.00 31.
21、00y=9.00 -36.00 31.0020第二十页,本课件共有50页方程组的解的三种情况方程组的解的三种情况:对于方程对于方程Ax=b,A为为Amn矩阵矩阵,有三种情况有三种情况:当当m=n时时,此方程成为此方程成为恰定恰定方程方程,求解精确解求解精确解 当当mn时时,此方程成为此方程成为“超定超定”方程方程,寻求寻求最小二乘解最小二乘解(直线拟合直线拟合)当当mn时此时无解时此时无解,但实用中可以求最小二乘解即但实用中可以求最小二乘解即:方程解方程解(AA)x=A b x=(AA)-1Ab-求逆法求逆法 x=Ab-matlab用最小二乘法找一个近似解用最小二乘法找一个近似解.x1+2x2
22、=1 2x1+3x2=23x1+4x2=3例例4.2.1-3 求下列超定方程的解求下列超定方程的解 求逆法:求逆法:x=inv(A*A)*A*b 使用使用Ab 的方式的方式A=1,2;2,3;3,4;b=1;2;3;x1=inv(A*A)*A*b;x2=Abx1=1.00 0.00 x2=1.00 022第二十二页,本课件共有50页 3)3)欠定方程欠定方程当方程数少于未知量个数时当方程数少于未知量个数时,即不定情况即不定情况,有无穷多个解存在有无穷多个解存在.matlab可求出两个解:可求出两个解:a.用除法求的解用除法求的解x是具有最多零元素的解是具有最多零元素的解b.具有最小长度或范数的
23、解具有最小长度或范数的解,这个解是基于伪逆这个解是基于伪逆pinv求得的求得的.例例4.2.1-4求下列欠定方程组的解求下列欠定方程组的解x1+2x2+3x3=12x1+3x2+4x3=2A=1,2,3;2,3,4;b=1;2;x1=Ab;x2=pinv(A)*bx1=1 0 0 x2=0.8333 0.3333 -0.166723第二十三页,本课件共有50页4.2.2 奇异值分解和矩阵结构奇异值分解和矩阵结构相应的相应的MATLAB指令如下指令如下:U,S,V=svd(A)-矩阵的奇异值分解三对组阵,使矩阵的奇异值分解三对组阵,使A=USVTnorm(A,flag)-计算矩阵计算矩阵A的范数
24、,范数类型由的范数,范数类型由flag指定指定.cond(A)-计算矩阵计算矩阵A的条件数的条件数.pinv(A)-求矩阵的广义逆求矩阵的广义逆flag-1,2,inf,fro24第二十四页,本课件共有50页4.2.3 线性二乘问题的解线性二乘问题的解对于超定方程对于超定方程,求其最小二乘解有三种方法:求其最小二乘解有三种方法:正则方程法得解正则方程法得解x=(A A)-1A b,数值精度差数值精度差广义逆法得解广义逆法得解x=A+b,所得解可靠所得解可靠.用矩阵除法得解用矩阵除法得解x=Ab.可靠性稍差,但速度快可靠性稍差,但速度快.例例4.2.3-1 对于超定方程对于超定方程y=Ax,进行
25、三种解法比较进行三种解法比较.(1)生成矩阵生成矩阵A及及y,并用三种方法求解并用三种方法求解A=gallery(5),A(:,1)=;y=1.7,7.5,6.3,0.83,-0.082;x=inv(A*A)*A*y,xx=pinv(A)*y,xxx=Ayx=3.4811 5.1595 0.9534 -0.0466xx=3.4759 5.1948 0.7121 -0.1101xxx=3.4605 5.2987 0 -0.2974由于由于阵缺一个列秩阵缺一个列秩,除法给出的最小二乘除法给出的最小二乘解就只有三个非零元解就只有三个非零元素素.它是只有三个非零它是只有三个非零元素的所有最小二乘元素的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 数值计算优秀PPT 第四 数值 计算 优秀 PPT
限制150内