MATLAB基础与应用教程-周开利-邓春晖课后答案_第1页
MATLAB基础与应用教程-周开利-邓春晖课后答案_第2页
MATLAB基础与应用教程-周开利-邓春晖课后答案_第3页
MATLAB基础与应用教程-周开利-邓春晖课后答案_第4页
MATLAB基础与应用教程-周开利-邓春晖课后答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

/第三章习题及参考答案解答:>>p=[1-1-1];>>roots<p>ans= -0.61801.6180解答:取n=5,m=61>>x=linspace<0,2*pi,5>;y=sin<x>;>>xi=linspace<0,2*pi,61>;>>y0=sin<xi>;>>y1=interp1<x,y,xi>;>>y2=interp1<x,y,xi,'spline'>;>>plot<xi,y0,'o',xi,y1,xi,y2,'-.'>;>>subplot<2,1,1>;plot<xi,y1-y0>;gridon>>subplot<2,1,2>;plot<xi,y2-y0>;gridon分段线性和三次样条插值方法与精确值之差取n=11,m=61>>x=linspace<0,2*pi,11>;y=sin<x>;>>xi=linspace<0,2*pi,61>;>>y0=sin<xi>;>>y1=interp1<x,y,xi>;>>y2=interp1<x,y,xi,'spline'>;>>plot<xi,y0,'o',xi,y1,xi,y2,'-.'>;>>subplot<2,1,1>;plot<xi,y1-y0>;gridon>>subplot<2,1,2>;plot<xi,y2-y0>;gridon分段线性和三次样条插值方法与精确值之差解答:>>x=[0,300,600,1000,1500,2000];>>y=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491];>>xi=0:100:2000;>>y0=1.0332*exp<-<xi+500>/7756>;>>y1=interp1<x,y,xi,'spline'>;>>p3=polyfit<x,y,3>;>>y3=polyval<p3,xi>;>>subplot<2,1,1>;plot<xi,y0,'o',xi,y1,xi,y3,'-.'>;>>subplot<2,1,2>;plot<xi,y1-y0,xi,y3-y0>;gridon插值和拟合方法相比较,都合理,误差也相近。解答:梯形法积分>>x=-3:0.01:3;>>y=exp<-x.^2/2>;>>z=trapz<x,y>/<2*pi>z=0.3979辛普森积分>>z=quad<'exp<-x.^2/2>',-3,3>/<2*pi>z=0.3979积分区间改为-5~5:梯形法积分>>x=-5:0.01:5;>>y=exp<-x.^2/2>;>>z=trapz<x,y>/<2*pi>z=0.3989辛普森积分>>z=quad<'exp<-x.^2/2>',-5,5>/<2*pi>z=0.3989积分区间改变了,两种积分的结果依然相同。梯形积分中改变x的维数为2维数组>>x<1,:>=-5:0.01:5>>x<2,:>=-5:0.01:5>>y=exp<-x.^2/2>;>>z=trapz<x,y>/<2*pi>???Errorusing==>trapzLENGTH<X>mustequalthelengthofthefirstnon-singletondimensionofY.结论参考教材第82页。解答:>>x=linspace<0,1,4>;>>y=x./<x.^2+4>;>>t=cumsum<y>*<1-0>/<4-1>;>>z1=t<end>>>z2=trapz<x,y>>>z3=quad<'x./<x.^2+4>',0,1>>>z4=quadl<'x./<x.^2+4>',0,1>z1=0.1437z2=0.1104z3=0.1116z4=0.1116解答:>>A=[5121;2511;12102;12210];>>b=[991515]';>>tol=1.0*10^-6;>>imax=5;>>x0=zeros<1,4>;>>tx=jacobi<A,b,imax,x0,tol>;>>forj=1:size<tx,1>fprintf<'%4d%4.2f%4.2f%4.2f%4.2f\n',...j-1,tx<j,1>,tx<j,2>,tx<j,3>,tx<j,4>>end00.000.000.000.0011.801.801.501.5020.540.480.660.6631.311.321.221.2240.810.790.860.8691.0900.000.000.000.0011.801.081.100.8820.971.021.021.0030.991.001.001.0041.001.001.001.0051.001.001.001.00解答:>>A=[5121;2511;12102;12210];>>b=[991515]';>>tol=1.0*10^-6;>>imax=5;>>x0=zeros<1,4>;>>w=1.2;>>tx=sor<A,b,imax,x0,tol,w>;>>forj=1:size<tx,1>fprintf<'%4d%4.2f%4.2f%4.2f%4.2f\n',...j-1,tx<j,1>,tx<j,2>,tx<j,3>,tx<j,4>>end00.000.000.000.0070.9720.621.100.981.0331.060.951.001.0041.001.011.001.0051.001.001.001.00若取w=0.02,以下结果表明收敛速度更快:00.000.000.000.0011.841.091.120.8920.941.021.021.0030.991.001.001.0041.001.001.001.0051.001.001.001.00解答:>>tic;>>A=[5121;2511;12102;12210];>>b=[991515]';>>[x,flag,relres,iter,resvec]=pcg<A,b,1e-6,10>;>>t1=toct1=0.0064用同样的方法计算得到不同迭代方法所用时间,迭代次数都取10次Jacobi迭代法t1=0.0279Gauss-Seidel迭代法t1=0.0221SOR迭代法t1=0.0272可见上述三种迭代法的用时相当,而共轭梯度法用时只有它们的1/4左右。解答:先将微分方程写成自定义函数ex9fun.mfunctionf=ex9fun<x,y>f=-2*x*y;二三阶龙格-库塔法:在命令窗口输入以下语句:>>[x,y]=ode23<'ex9fun',[0:0.1:1.2],1>x=00.10000.20000.30000.40000.50000.60000.70000.80000.90001.00001.10001.2000y=1.00000.99000.96080.91390.85220.77880.69770.61270.52730.44490.36790.29820.2369改进欧拉法:在命令窗口输入以下语句:>>[x,y]=euler2<'ex9fun',[01.2],1,0.1>x=00.10000.20000.30000.40000.50000.60000.70000.80000.90001.00001.10001.2000y=1.00000.99000.96070.91380.85200.77880.69780.61290.52790.44570.36910.29970.2387方程的解析解用Dsolve<'Dy=-2*x*y','y<0>=1','x'>求得为y=exp<-x^2>。第四章习题及参考答案1.填空题<1>结构数组元素是__结构__类型数据,细胞数组元素是细胞类型数据。<2>结构数组名与域名之间以_圆点"."_间隔,同一域的数据类型__相同__。<3>创建结构数组可以对结构数组的域直接赋值和采用函数_struct_,当采用函数创建时,可以一次给多个元素赋值,此时,各元素值应以_{}_括号括起来,如果某个_域_的值都相同,则可以只输入一次。<4>创建细胞数组可以对细胞元素直接赋值或采用函数_cell_,采用函数创建的细胞数组所有元素的值为_空值。<5>删除域名的函数是_rmfield_,删除结构数组元素的方法是将欲删除的元素赋空值。<6>利用函数_fieldnames_可以得到结构数组的域名,利用函数_getfield_可以得到结构数组的域值,利用多种方法可以访问结构数组的元素。<7>将细胞元素赋以空值可以删除细胞元素内容〔用花括号,如果要从细胞数组中删除某个细胞元素,则需要_将细胞元素〔用园括号赋以空值。<8>利用花括号和下标可以得到细胞数组的元素内容,利用圆括号和下标可以得到细胞数组的元素。<9>结构细胞数组的元素是结构类型数据,元素值是结构。2.选择题<1>在MATLAB命令窗口输入语句:>>teacher=struct<'name',{'John','Smith'},'age',{25,30}>;现需将结构数组teacher的第一个age域值修改为35,则应使用__C__。A.setfield<teacher,'age<1>',35>B.teacher<1>=setfield<teacher<1>,'age',35>C.teacher<1>.age=35D.teacher=<teacher.age<1>=35><2>对于题<1>创建的结构数组teacher,若进行下列操作,其结果为__A__。>>fieldnames<teacher>A.ans='name''age'B.ans=nameageC.ans=name:'John'age:25D.ans=name:'Smith'age:30<3>对于题<1>创建的结构数组teacher,若需要引用Smith的年龄,可以使用__BD__。A.getfield<teacher,'age<2>'>B.getfield<teacher<2>,'age'>C.teacher.age<2>D.teacher<2>.age<4>在MATLAB命令窗口输入语句:>>teacher=struct<'name',{'John','Smith'},'age',{25,30}>;则,再输入a1=teacher<1>的结果为__A__,输入a2=teacher<1>.name的结果为__C__。A.a1=name:'John'age:25B.a1=name:Johnage:25C.a2=JohnD.a2='John'<5>在MATLAB命令窗口输入语句:>>teacher1=struct<'name',{'John','Smith'},'age',{25,30}>;>>teacher2=struct<'name',{'John','Smith'},'age',{'25','30'}>;则,再输入a1=teacher1<1>.age<2>的结果为__C__,输入a1=teacher2<1>.age<2>的结果为__D__,输入a1=teacher1<1>.age的结果为__A__,输入a1=teacher2<1>.age的结果为__A__。A.a1=25B.a1=30C.出错信息D.a1=5>>teacher05=struct<'id',{'xx010','xx016'},...'name',{'黎明','王佳薇'},'course',{{'高数'},{'电路''模电'}}>;>>student05=struct<'number',{'20050731021','20050731031',...'20050731036'},'name',{'张小霞','郭凯','周明辉'},...'course',{{'高数''电路''模电'}},...'score',{[708778],[829088],[889291]}>;>>teacher05<1>ans=id:'xx010'name:'黎明'course:{'高数'}>>teacher05<2>ans=id:'xx016'name:'王佳薇'course:{'电路''模电'}>>student05<1>ans=number:'20050731021'name:'张小霞'course:{'高数''电路''模电'}score:[708778]>>student05<2>ans=number:'20050731031'name:'郭凯'course:{'高数''电路''模电'}score:[829088]>>student05<3>ans=number:'20050731036'name:'周明辉'course:{'高数''电路''模电'}score:[889291]>>class05_strct{1}=teacher05;>>class05_strct{2}=student05;>>class05_strct{1}<1>,class05_strct{1}<2>ans=id:'xx010'name:'黎明'course:{'高数'}ans=id:'xx016'name:'王佳薇'course:{'电路''模电'}>>class05_strct{2}<1>,class05_strct{2}<2>,class05_strct{2}<3>ans=number:'20050731021'name:'张小霞'course:{'高数''电路''模电'}score:[708778]ans=number:'20050731031'name:'郭凯'course:{'高数''电路''模电'}score:[829088]ans=number:'20050731036'name:'周明辉'course:{'高数''电路''模电'}score:[889291]>>teacher04=struct<'id',{'xx012','xx016'},...'name',{'姚大志','王佳薇'},'course',{{'数电'},{'高频'}}>;>>student04=struct<'number',{'20040734005','20040734036'},...'name',{'王雪梅','高志刚'},...'course',{{'数电''高频'}},'score',{[7580],[5665]}>;>>class04_strct{1}=teacher04;>>class04_strct{2}=student04;>>class={class05_strct,class04_strct};>>celldisp<class>class{1}{1}=1x2structarraywithfields:idnamecourseclass{1}{2}=1x3structarraywithfields:numbernamecoursescoreclass{2}{1}=1x2structarraywithfields:idnamecourseclass{2}{2}=1x2structarraywithfields:numbernamecoursescore>>class{2}ans=[1x2struct][1x2struct]>>class<2>ans={1x2cell}>>class{2}<2>ans=[1x2struct]>>class{2}{2}ans=1x2structarraywithfields:numbernamecoursescore>>class{2}{2}<2>ans=number:'20040734036'name:'高志刚'course:{'数电''高频'}score:[5665]>>class{2}{2}<2>.name,class{2}{2}<2>.course,class{2}{2}<2>.scoreans=高志刚ans='数电''高频'ans=5665>>class{2}{2}<2>.score<1>=85;class{2}{2}<2>.course<1>,class{2}{2}<2>.score<1>ans='数电'ans=85第五章习题及参考答案解答:>>symsabcx>>f=<a*x^2+b*x+c-3>^3-a*<c*x^5+4*b*x-1>-18*b*<<2+5*x>^7-a+c>>>fx=collect<f,x>fx=-1406250*b*x^7+<a^3-3937500*b>*x^6+<3*b*a^2-a*c-4725000*b>*x^5+<-3150000*b+<c-3>*a^2+2*b^2*a+a*<2*<c-3>*a+b^2>>*x^4+<-1260000*b+4*<c-3>*b*a+b*<2*<c-3>*a+b^2>>*x^3+<<c-3>*<2*<c-3>*a+b^2>+2*b^2*<c-3>+a*<c-3>^2-302400*b>*x^2+<3*<c-3>^2*b-4*b*a-40320*b>*x+<c-3>^3-18*b*<128+c-a>+a>>fa=collect<f,a>fa=x^6*a^3+3*<b*x+c-3>*x^4*a^2+<18*b-c*x^5-4*b*x+1+3*<b*x+c-3>^2*x^2>*a+<b*x+c-3>^3-18*b*<<2+5*x>^7+c>解答:>>symsxy>>f=x^2*y+x*y-x^2-2*x;>>g=-<1/4>*x*exp<-2*x>+<3/16>*exp<-2*x>;>>fx=collect<f>fx=<y-1>*x^2+<y-2>*x>>gepx=collect<g,exp<-2*x>>gepx=<-1/4*x+3/16>*exp<-2*x>解答:<1>>>symsx>>f=x^3-3*x^2-3*x+1;>>F=factor<f>F=<x+1>*<x^2-4*x+1><2>>>symsx>>g=x^3-7*x+6;>>G=factor<g>G=<x-1>*<x-2>*<x+3>解答:>>symsx>>f1=cos<x>+sqrt<-sin<x>^2>;>>f2=x^3+3*x^2+3*x+1;>>simple<f1>simplify:cos<x>+<-1+cos<x>^2>^<1/2>radsimp:cos<x>+i*sin<x>combine<trig>:cos<x>+1/2*<-2+2*cos<2*x>>^<1/2>factor:cos<x>+<-sin<x>^2>^<1/2>expand:cos<x>+<-sin<x>^2>^<1/2>combine:cos<x>+1/2*<-2+2*cos<2*x>>^<1/2>convert<exp>:1/2*exp<i*x>+1/2/exp<i*x>+1/4*4^<1/2>*<<exp<i*x>-1/exp<i*x>>^2>^<1/2>convert<sincos>:cos<x>+<-sin<x>^2>^<1/2>convert<tan>:<1-tan<1/2*x>^2>/<1+tan<1/2*x>^2>+<-4*tan<1/2*x>^2/<1+tan<1/2*x>^2>^2>^<1/2>collect<x>:cos<x>+<-sin<x>^2>^<1/2>mwcos2sin:cos<x>+<-sin<x>^2>^<1/2>ans=cos<x>+i*sin<x>>>s

温馨提示

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

评论

0/150

提交评论