《MATLAB作业2参考答案(2018).docx》由会员分享,可在线阅读,更多相关《MATLAB作业2参考答案(2018).docx(8页珍藏版)》请在第一文库网上搜索。
1、MAT1AB作业2参考答案(2018)本文档内字体为阿里巴巴普惠体R,CTR1+A全选可调整字体属性及字体大小-CA1-FENGHA1NetworkInformationTechno1ogyCompany.2023YEARMAT1AB作业二参考答案1、试求下面线性代数方程的解析解与数值解,并检验解的正确性。2-93-2-f-1-4O-10-1105OX=-3-8-48-2-4-63O33-5-6-6-8-4_9-53【求解】求出A,AB两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。A=2,-9,3,-2,-1;10,-1,10,5,0;8,-2,-4,-6,3;-5,-6,
2、-6,-8,-4;B=-1,-4,0;-3,-8,-4;0,339,-5,3;rank(A),rank(AB)ans=44用下面的语句可以求出方程的解析解,并可以验证该解没有误差。xO=nu11(sym(A);x_ana1ytica1=sym(A)B;symsa;x=a*xxxO+x_ana1ytica1x=a+967/1535,a-943/1535,a-159/1535-1535/1524*a,-1535/1524*a,-1535/1524*a-36591524-18071535,-36591524*a-2571535,-36591524*a-14115351321508*a+7591535
3、,1321508*a-561535,1321508*a-6281535-170/127*a-694307,-170/127*a+719/307,-170/127*a103/307A*x-Bans=0,0,00,0,00,0,0O,O,0用数值解方法也可以求出方程的解,但会存在误差,且与任意常数。的值有关。xO=nu11(A);x_numerica1=AB;SymSa;x=a*xxxO+x_numerica1;vpa(x,10)ans=.53*a+.36,.53*,.53*a+.89,*a+.88e-1,*a+.88e-1*a,*a,*a.13*,.13*,.13*,*a+,*a+.24A*x-
4、Bans二11984*a,11984*a,11984-5*a,-5*a,-5*a-251984*a,-251984*a,-251984*a131984*a,131984*a,131984*a2、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。X2-2-1=O(x1-2)2+(x2-0.5)2-1=0【求解】给出的方程可以由下面的语句直接求解,经检验可见,精度是相当高的。x1,x2=so1ve(,x12-x2-1=0,(x1-2)2+2-1=0,x1,x2)x1=+*sqrt(-1)norm(doub1e(x1.2-x2-1(x1-2).2+.2-1)ans=IOR-X2-2刍=
5、723、用JaCobi、GaUSS-Seide1迭代法求解方程组(-芭+10%-=83,给定初值-X1-x2+5x3=42为=(0,0,0)7。【求解】:编写JaCobi、GaUSS-Seide1函数计算,functiony=jacobi(a,b,xO)D=diag(diag(a);U=-triu(a,1);1=-tri1(a,-1);B=D(1U);f=Db;y=B*xO+f;n=1;whi1enorm(y-xO)=x=y;y=B*xO+f;n=n+1;endna=10,-1,-2;-1,10,-2;-1,-1,5;b=72;83;42;jacobi(a,b,0;0;0)n=17ans=fu
6、nctiony=seide1(a,b,x)D=diag(diag(a);U=-triu(a,1);1=-tri1(a,-1);G=(D-1)U;f=(D-1)b;y=G*xO+f;n=1;whi1enorm(y-xO)=x=y;y=G*xO+f;n=n+1;endnseideI(a,b,O;O;O)n=10ans=4、假设已知一组数据,试用插值方法绘制出x(-2,4.9)区间内的光滑函数曲线,比较各种插值算法的优劣。Xi-21yi.10289.11741.13158.14483.15656.16622.17332.1775.17853.17635.17109.16302i4yi.15255.1
7、402.12655.11219.09768.08353.07015,05786.04687.03729.02914,02236【求解】用下面的语句可以立即得出给定样本点数据的三次插值与样条插值,得出的结果如,可见,用两种插值方法对此例得出的结果几乎一致,效果均很理想。x-2,,,,4,,,y,x0=-2:;y1=interp1(x,y,x,cubic);y2=interp1(x,y,x,sp1ine*);p1ot(xO,y1,Y,xO,y2,x,y,o)5、假设已知实测数据由下表给出,试对(x,y)在区域内的点进行插值,并用三维曲面的方式绘制出插值结果。X2&当4&MO岛01.83041.82
8、727.82406.82098.81824.8161.81481.81463.81579.81853.82304.83172.83249.83584.84201.85125.86376.87975.89935.92263.94959.9801.83587.84345.85631.87466.89867.9284.96377.84286.86013.88537.91865.95985.85268.88251.92286.97346.86532.91049.96847.88078.94396.89904.98276.920061.94381.62477.97023.61268.14763【求解】直
9、接采用插值方法可以解决该问题,得出的插值曲面。x,y=meshgrid:;Z,”,“,”,”,“,”,x1,y1=meshgrid:;z1=interp2(x,y,z,x1,y1,sp1ine,);surf(x1,y1,z1)axis(min(z1(:),max(z1(:)其实,若光需要插值曲面而不追求插值数值的话,完全可以直接采用MAT1AB下的ShadinginterP命令来实现。可见,这样的插值方法更好,得出的插值曲面更光滑。surf(x,y,z);shadinginterp6、习题4和5给出的数据分别为一元数据和二元数据,试用分段三次样条函数和B样条函数对其进行拟合。【求解】先考虑习题
10、4,相应的三次样条插值和B-样条插值原函数与导数函数分别为:X-2,.,,,4,y-1,,S=csapi(x,y);S1=spapi(6,x,y);fnp1t(S);ho1don;fnp1t(S1)Sd=fnder(S);Sd1=fnder(S1);fnp1t(Sd),ho1don;fnp1t(Sd1)再考虑习题5中的数据,原始数据不能直接用于样条处理,因为meshgrid()函数产生的数据格式与要求的ndgrid()函数不一致,所以需要对数据进行处理,其中需要的X和y均应该是向量,而Z是原来Z矩阵的转置,所以用下面的语句可以建立起三次样条和B-样条的插值模型,函数的表面图所示,可见二者得出的
11、结果很接近。x,y=meshgrid(O:;,”,99,99,999,99,9999,99,“99999999,99999999”,99,99,999,xO=:1;y=x;z=z,;S=csapi(xO,yO,z);fnp1t(S)figure;S1=spapi(5,5,x,y,z);fnp1t(S1)S1x=fnder(S1,O,1);fnp1t(S1x)figure;S1y=fnder(S1,O,1);fnp1t(S1y)7、 重新考虑习题4中给出的数据,试考虑用多项式插值的方法对其数据进行逼近,并选择一个能较好拟合原数据的多项式阶次。【求解】可以选择不同的多项式阶次,例如选择3,5,7,
12、9,11,则可以对其进行多项式拟合,并绘制出曲线。X-2,1,4,y99999999999999x0=-2:;p3=po1yfit(x,y,3);y3=po1yva1(p3,xO);p5=po1yfit(x,y,5);y5=po1yva1(p5,x0);p7=po1yfit(x,y,7);y7=po1yva1(p7,x0);p9=po1yfit(x,y,9);y9=po1yva1(p9,x0);p11=po1yfit(x,y,11);y11=po1yva1(p11,x);p1ot(xO,y3;y5;y7;y9;y11)从拟合的结果可以发现,选择5次多项式就能较好地拟合原始数据。8、 假设习题4中给出的数据满足原型y(x)=-et-22,试用最小二乘法求出4,b的值,并用得出的函数将函数曲线绘制出来,观察拟合效果。【求解】令q=,凡=G则可以将原型函数写成、*)二7:一叩”Iy2a2这时可以写出原型函数为f=in1ine(exp(-(x-a(1).A2/2/a(2)A2)/(sqrt(2*pi)*a(2),a,x