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

下载本文档

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

文档简介

1、第三章 习题及参考答案解答: 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);grid on subplot(2,1,2); plot(xi,y2-y0);grid on分段线性和三次样条插值方法

2、与精确值之差取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);grid on subplot(2,1,2); plot(xi,y2-y0);grid on分段线性和三次样条插值方法与精确值之差解答: x=0,300,600,1000,1500,2000; y=0.9689,

3、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);grid on插值和拟合方法相比较,都合理,误差也相近。解答:梯形法积分 x=-3:0.01:3; y=exp(-x.2/2); z=tr

4、apz(x,y)/(2*pi)z = 0.3979辛普森积分 z=quad(exp(-x.2/2),-3,3)/(2*pi)z =0.3979积分区间改为-55:梯形法积分 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)? Err

5、or using = trapzLENGTH(X) must equal the length of the first non-singleton dimension of Y.结论参考教材第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=5 1 2 1;2 5 1 1

6、;1 2 10 2;1 2 2 10; b=9 9 15 15; tol=1.0*10-6; imax=5; x0=zeros(1,4); tx=jacobi(A,b,imax,x0,tol); for j=1:size(tx,1)fprintf(%4d %4.2f %4.2f %4.2f %4.2fn,. j-1,tx(j,1),tx(j,2),tx(j,3),tx(j,4)end0 0.00 0.00 0.00 0.00 1 1.80 1.80 1.50 1.50 2 0.54 0.48 0.66 0.66 3 1.31 1.32 1.22 1.22 4 0.81 0.79 0.86 0.

7、86 5 1.13 1.13 1.09 1.090 0.00 0.00 0.00 0.00 1 1.80 1.08 1.10 0.88 2 0.97 1.02 1.02 1.00 3 0.99 1.00 1.00 1.00 4 1.00 1.00 1.00 1.00 5 1.00 1.00 1.00 1.00解答: A=5 1 2 1;2 5 1 1;1 2 10 2;1 2 2 10; b=9 9 15 15; tol=1.0*10-6; imax=5; x0=zeros(1,4); w=1.2; tx=sor(A,b,imax,x0,tol,w); for j=1:size(tx,1) f

8、printf(%4d %4.2f %4.2f %4.2f %4.2fn,. j-1,tx(j,1),tx(j,2),tx(j,3),tx(j,4)end0 0.00 0.00 0.00 0.00 1 2.16 1.12 1.27 0.97 2 0.62 1.10 0.98 1.03 3 1.06 0.95 1.00 1.00 4 1.00 1.01 1.00 1.00 5 1.00 1.00 1.00 1.00若取w=0.02,以下结果表明收敛速度更快:0 0.00 0.00 0.00 0.00 1 1.84 1.09 1.12 0.89 2 0.94 1.02 1.02 1.00 3 0.9

9、9 1.00 1.00 1.00 4 1.00 1.00 1.00 1.00 5 1.00 1.00 1.00 1.00解答: tic; A=5 1 2 1;2 5 1 1;1 2 10 2;1 2 2 10; b=9 9 15 15; 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/

10、4左右。解答:先将微分方程写成自定义函数ex9fun.mfunction f=ex9fun (x,y)f=-2*x*y;二三阶龙格-库塔法:在命令窗口输入以下语句: x,y=ode23(ex9fun,0:0.1:1.2,1)x = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000y = 1.0000 0.9900 0.9608 0.9139 0.8522 0.7788 0.6977 0.6127 0.5273 0.4449 0.3679 0.29820.2369改进欧拉法:

11、在命令窗口输入以下语句: x,y=euler2(ex9fun,0 1.2,1,0.1)x = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000y = 1.0000 0.9900 0.9607 0.9138 0.8520 0.7788 0.6978 0.6129 0.5279 0.4457 0.3691 0.2997 0.2387方程的解析解用Dsolve(Dy=-2*x*y,y(0)=1,x)求得为y=exp(-x2)。第四章 习题及参考答案1填空题(1) 结构数组元素是_

12、结构_类型数据,细胞数组元素是 细胞 类型数据。(2) 结构数组名与域名之间以_ 圆点“.” _间隔,同一域的数据类型_相同_。(3) 创建结构数组可以对 结构数组的域 直接赋值和采用函数_struct_,当采用函数创建时,可以一次给多个元素赋值,此时,各元素值应以_ _括号括起来,如果某个_域_的值都相同,则可以只输入一次。(4) 创建细胞数组可以对 细胞元素 直接赋值或采用函数_cell_,采用函数创建的细胞数组所有元素的值为_ 空值 。(5) 删除域名的函数是_rmfield_,删除结构数组元素的方法是 将欲删除的元素赋空值 。(6) 利用函数_fieldnames_可以得到结构数组的域

13、名,利用函数_getfield_可以得到结构数组的域值,利用 多种方法 可以访问结构数组的元素。(7) 将细胞元素赋以空值可以 删除细胞元素内容(用花括号) ,如果要从细胞数组中删除某个细胞元素,则需要_将细胞元素(用园括号)赋以空值。(8) 利用花括号和下标可以得到细胞数组的 元素内容 ,利用圆括号和下标可以得到细胞数组的 元素 。(9) 结构细胞数组的元素是 结构 类型数据,元素值是 结构 。2选择题(1) 在MATLAB 命令窗口输入语句: teacher =struct(name,John,Smith,age,25,30);现需将结构数组teacher 的第一个age域值修改为35,则

14、应使用_C_。Asetfield(teacher,age(1),35)Bteacher(1) = setfield(teacher(1),age,35)Cteacher(1).age = 35Dteacher = (teacher. age(1) = 35)(2) 对于题(1)创建的结构数组teacher,若进行下列操作,其结果为_A_。 fieldnames(teacher)Aans =nameageBans =nameageCans =name: Johnage: 25Dans =name: Smithage: 30(3) 对于题(1)创建的结构数组teacher,若需要引用Smith 的

15、年龄,可以使用_B D_。Agetfield(teacher,age(2)Bgetfield(teacher(2),age)Cteacher.age(2)Dteacher(2).age(4) 在MATLAB 命令窗口输入语句: teacher =struct(name,John,Smith,age,25,30);则,再输入a1= teacher(1)的结果为_A_,输入a2= teacher(1).name 的结果为_C_。A a1 =name: Johnage: 25Ba1 =name: Johnage: 25C a2 =JohnDa2 =John(5) 在MATLAB 命令窗口输入语句:

16、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_。Aa1 =25Ba1 =30C出错信息Da1 =5 teacher05=struct(id,xx010,xx016,.name,黎明,王佳薇,course,高数,电路 模电)

17、; student05=struct(number,.,name,张小霞,郭凯,周明辉,.course,高数 电路 模电,.score,70 87 78,82 90 88,88 92 91); teacher05(1)ans = id: xx010 name: 黎明course: 高数 teacher05(2)ans = id: xx016 name: 王佳薇course: 电路 模电 student05(1)ans = number: name: 张小霞 course: 高数 电路 模电 score: 70 87 78 student05(2)ans = number: name: 郭凯 c

18、ourse: 高数 电路 模电 score: 82 90 88 student05(3)ans = number: name: 周明辉 course: 高数 电路 模电 score: 88 92 91 class05_strct1=teacher05; class05_strct2=student05; class05_strct1(1),class05_strct1(2)ans = id: xx010 name: 黎明 course: 高数ans = id: xx016 name: 王佳薇course: 电路 模电 class05_strct2(1),class05_strct2(2),cl

19、ass05_strct2(3)ans = number: name: 张小霞 course: 高数 电路 模电 score: 70 87 78ans = number: name: 郭凯 course: 高数 电路 模电 score: 82 90 88ans = number: name: 周明辉 course: 高数 电路 模电 score: 88 92 91 teacher04=struct(id,xx012,xx016,.name,姚大志,王佳薇,course,数电,高频); student04=struct(number,.name,王雪梅,高志刚,.course,数电 高频,scor

20、e,75 80,56 65); class04_strct1=teacher04; class04_strct2=student04; class=class05_strct, class04_strct; celldisp(class)class11 =1x2 struct array with fields: id name courseclass12 =1x3 struct array with fields: number name course scoreclass21 =1x2 struct array with fields: id name courseclass22 =1x2

21、 struct array with fields: number name coursescore class2ans = 1x2 struct 1x2 struct class(2)ans = 1x2 cell class2(2)ans = 1x2 struct class22ans = 1x2 struct array with fields: number name coursescore class22(2)ans = number: name: 高志刚 course: 数电 高频 score: 56 65 class22(2).name,class22(2).course,clas

22、s22(2).scoreans =高志刚ans = 数电 高频ans =56 65 class22(2).score(1)=85;class22(2).course(1),class22(2).score(1)ans = 数电ans =85第五章 习题及参考答案解答: syms a b c x f=(a*x2+b*x+c-3)3-a*(c*x5+4*b*x-1)-18*b*(2+5*x)7-a+c) fx=collect(f,x)fx =-*b*x7+(a3-*b)*x6+(3*b*a2-a*c-*b)*x5+(-*b+(c-3)*a2+2*b2*a+a*(2*(c-3)*a+b2)*x4+(

23、-*b+4*(c-3)*b*a+b*(2*(c-3)*a+b2)*x3+(c-3)*(2*(c-3)*a+b2)+2*b2*(c-3)+a*(c-3)2-*b)*x2+(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 =x6*a3+3*(b*x+c-3)*x4*a2+(18*b-c*x5-4*b*x+1+3*(b*x+c-3)2*x2)*a+(b*x+c-3)3-18*b*(2+5*x)7+c)解答: syms x y f=x2*y+x*y-x2-2*x; g=-(1/4)*x*exp(-2*x)+(3

24、/16)*exp(-2*x); fx=collect(f)fx =(y-1)*x2+(y-2)*x gepx=collect(g,exp(-2*x)gepx =(-1/4*x+3/16)*exp(-2*x)解答:(1) syms x f=x3-3*x2-3*x+1; F=factor(f)F =(x+1)*(x2-4*x+1)(2) syms x g=x3-7*x+6; G=factor(g)G =(x-1)*(x-2)*(x+3)解答: syms x f1=cos(x)+sqrt(-sin(x)2); f2=x3+3*x2+3*x+1; simple(f1)simplify:cos(x)+(

25、-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) simple(f2)simplify:x3+3*x2+3*x+1radsimp:x3+3*x2+3*x+1combin

温馨提示

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

评论

0/150

提交评论