MATLAB作业答案.pdf_第1页
MATLAB作业答案.pdf_第2页
MATLAB作业答案.pdf_第3页
MATLAB作业答案.pdf_第4页
MATLAB作业答案.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

课程性质:课程性质:公共选公共选修修 MATLAB 及其应用及其应用 平平 时时 作作 业业 授课授课学院:学院:计算机学院计算机学院 授课授课教师:教师:缪庆元缪庆元 学生院系学生院系: 姓姓名:名: 学学号:号: E-mail: 第第 1 章章 1.请指出如下 5 个变量名中,哪些是合法的? abcd-2xyz_33chana 变量ABCDefgh 答:答:xyz_3、ADCDefgh 是合法变量是合法变量 2.在命令窗中,运行命令 a=sqrt(2)。然后请回答以下问题:计算结果 a 是精准的2吗? 该计算结果只是 5 位有效数字精度的2近似吗?请在命令窗中, 显示出具有最多位有 效数字的2近似值?再请恢复 MATLAB 数值结果显示的默认设置。 答:答:运行命令运行命令 a=sqrt(2)结果结果 a 不是不是是精准的是精准的2;输入;输入 formatformat longlong,再输入,再输入 a=sqrt(2)a=sqrt(2)可可 以得到以得到 64bit64bit 内存的最多位的有效数字的内存的最多位的有效数字的近似值:近似值: a a = = 1.4142135623730951.414213562373095 再输入再输入 formatformat 就恢复就恢复 MATLABMATLAB 数值结果显示的默认设置。数值结果显示的默认设置。 3.命令 clear, clf, clc 各有什么用处? 答:答:clear 清除清除 MATLAB 工作空间中保存的变量工作空间中保存的变量 clf 清除图形窗中的所有图形对象清除图形窗中的所有图形对象 clc 清除命令窗中显示内容清除命令窗中显示内容 4.想要在 MATLAB 中产生二维数组 987 654 321 S,下面哪些命令能实现目的? S=1,2,3;4,5,6;7,8;9 S=123;456;789 S=1,2,3;4,5,6;7,8,9%整个命令在中文状态下输入 答:命令答:命令 S=1,2,3;4,5,6;7,8;9不能实现目的,不能实现目的,8 后的分号应该改为逗号后的分号应该改为逗号 S=123;456;789能实现目的。能实现目的。 而在中文状态下输入的而在中文状态下输入的 S=1,2,3;4,5,6;7,8,9 不能实现目的不能实现目的 2 第第 2 章章 1说出以下四条命令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号” 对象? 3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1),4), vpa(sym(3/7+0.1) 答:答:3/7+0.1 命令产生的结果是命令产生的结果是“双精度双精度”对象对象。 sym(3/7+0.1), vpa(sym(3/7+0.1),4), vpa(sym(3/7+0.1)命令产生的结果是命令产生的结果是“符号符号”对象对象。 2已知 a1=sin(sym(pi/4)+exp(sym(0.7)+sym(pi/3)产生精准符号数字,请回答:以下产生的 各种符号数哪些是精准的?若不精准,误差又是多少?能说出产生误差的原因吗? a2=sin(sym(pi/4)+exp(sym(0.7)*exp(sym(pi/3) a3=sin(sym(pi/4)+exp(sym(0.7)*exp(sym(pi/3) a4=sin(sym(pi/4)+exp(sym(0.7+pi/3) a5=sin(sym(pi/4)+exp(sym(0.7+pi/3) a6=sin(sym(pi/4)+sym(exp(0.7+pi/3) a7=sin(sym(pi/4+exp(0.7+pi/3) a8=sym(sin(pi/4+exp(0.7+pi/3) (提示:可用 vpa 观察误差;注意数位的设置)。 答:在答:在 matlab 命令行输入以下命令:命令行输入以下命令: 得到:得到: a1=sin(sym(pi/4)+exp(sym(0.7)+sym(pi/3) a2=sin(sym(pi/4)+exp(sym(0.7)*exp(sym(pi/3) a3=sin(sym(pi/4)+exp(sym(0.7)*exp(sym(pi/3) a4=sin(sym(pi/4)+exp(sym(0.7+pi/3) a5=sin(sym(pi/4)+exp(sym(0.7+pi/3) a6=sin(sym(pi/4)+sym(exp(0.7+pi/3) a7=sin(sym(pi/4+exp(0.7+pi/3) a8=sym(sin(pi/4+exp(0.7+pi/3) a1 = sin(pi/4 + exp(pi/3 + 7/10) a2 = sin(pi/4 + exp(pi/3)*exp(7/10) 警告警告: Support of character vectors that are not valid variable names or define a number will be removed in a future release. To create symbolic expressions, first create symbolic variables and then use operations on them. In symconvertExpression (line 1559) In symconvertChar (line 1464) In symtomupad (line 1216) 由输出结果可以得知由输出结果可以得知, 只只有有a2 是精准的是精准的, a3、 a4产生误差是由于对产生误差是由于对于于sym(Num), Num 采用诸如采用诸如 321/1000、10/3 等整数构成的有理分数形式表达时,等整数构成的有理分数形式表达时,sym(Num) 才能生成才能生成 精准的符号数字,而用诸如精准的符号数字,而用诸如 0.321、3.21e-1 等等“普通小数或科学记述数普通小数或科学记述数”表达,那么表达,那么 只能产生只能产生“近似符号数字近似符号数字”(默认为(默认为 32 位精度)。位精度)。 而而 a5 至至 a8 产生误差是由于对于产生误差是由于对于 sym(Num), 若若 Num 是精准的浮点数是精准的浮点数 (如如 0.321、 10/3 警告警告: Support of character vectors that are not valid variable names or define a number will be removed in a future release. To create symbolic expressions, first create symbolic variables and then use operations on them. In symconvertExpression (line 1559) In symconvertChar (line 1464) In symtomupad (line 1216) In sym (line 179) a3 = sin(pi/4 + 2.0137527074704765216245493885831*exp(pi/3) 警告警告: Support of character vectors that are not valid variable names or define a number will be removed in a future release. To create symbolic expressions, first create symbolic variables and then use operations on them. In symconvertExpression (line 1559) In symconvertChar (line 1464) In symtomupad (line 1216) In sym (line 179) 警告警告: Support of character vectors that are not valid variable names or define a number will be removed in a future release. To create symbolic expressions, first create symbolic variables and then use operations on them. In symconvertExpression (line 1559) In symconvertChar (line 1464) In symtomupad (line 1216) In sym (line 179) a4 = sin(pi/4 + exp(pi/3 + 0.7) a5 = sin(pi/4 + exp(983584780063955/562949953421312) a6 = sin(pi/4 + 1615243667759385/281474976710656) a7 = sin(7345254390041095/1125899906842624) a8 = 8589024289185083/36028797018963968 等),能生成精准的符号数字;等),能生成精准的符号数字; 若输入量若输入量 Num 是诸如是诸如 sin(0.3)的数值表达式的数值表达式,那么就只能生成由数字表达式获得的近那么就只能生成由数字表达式获得的近 似符号数字(默认为似符号数字(默认为 16 位精度)。位精度)。 a2 至至 a8 与与 a1 的误差可以通过输入下图文本框的命令得到结果。的误差可以通过输入下图文本框的命令得到结果。 误差结果为:误差结果为: 3在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym(sin(w*t) , sym(a*exp(-X) ) , sym(z*exp(j*th) 答:表达式中独立自由变量的首选是答:表达式中独立自由变量的首选是 x,其后的次序规则是:与,其后的次序规则是:与 x 的的 ASCII 码值之差的绝码值之差的绝 对值小的字母优先,差绝对值相同时,对值小的字母优先,差绝对值相同时,ASCII 码值大的字母优先,即码值大的字母优先,即 x,y,w,z,v.。 由此可知这三个表达式由此可知这三个表达式 独立自由变量为独立自由变量为 依次为依次为 w,a,z。 error2=vpa(a2-a1,40) error3=vpa(a3-a1,40) error4=vpa(a4-a1,40) error5=vpa(a5-a1,40) error6=vpa(a6-a1,40) error7=vpa(a7-a1,40) error8=vpa(a8-a1,40) error2 = 0.0 error3 = 0.0000000000000000000000000000000000000001312888570213460076227135070 325542143159 error4 = -0.000000000000000000000000000000000000000204721530484510191584240389 8134511081482 error5 = -0.0000000000000008874822716959584619522637254014326640784 error6 = -0.000000000000001489122128176563341755713716272785415226 error7 = -0.000000000000001518855593927822635897082947744410880838 error8 = -0.000000000000001518597559091227938807349182356189680447 第第 3 章章 1 请读者先运行以下命令 a=0;b=pi; t1=a:pi/9:pi; t2=linspace(a,b,10); T=t1*t2; F=find(T0.5);t=find(A0.5),z=x,y 即可求得数组即可求得数组 A 中所有大于中所有大于 0.5 的元素的位置的元素的位置 即他们的即他们的“全下标全下标”和和“单下标单下标” 第第 4 章章 1.采用数值计算方法,画出dt t t xy x 0 sin )(在10 , 0区间曲线,并计算)5 . 4(y。 (提示:cumtrapz 快捷,在精度要求不高处可用;integral 也可试。巧用 find。) 答:在命令行输入如下命令:答:在命令行输入如下命令: 可以得到可以得到dt t t xy x 0 sin )(在在0 , 10区间曲线区间曲线,并算的并算的 y(4.5)=1.654178716404084 d=0.5; tt=0:d:10; t=tt+(tt=0)*eps; y=sin(t)./t; s=d*trapz(y) ss=d*(cumtrapz(y) ; plot(t,y,r) yi=interp1(t,ss,4.5) 2.求函数5 . 08 . 12cos5 . 1)5(sin)( 2 06. 02 tttettf t 在区间5 , 5中的最小值点。 (提示:作图观察。) 答:在命令行输入如下命令:答:在命令行输入如下命令: 运行结果如下:运行结果如下: 由上图可知最低点为由上图可知最低点为 (-1.284977032658338,-0.186048010633265) t1=-5; t2=5; y=inline(sin(5*t).2.*exp(0.06*t.2)-1.5.*t.*cos(2*t)+1.8.*abs(t+0.5); t0,y0=fminbnd(y,t1,t2) t=t1:0.1:t2; plot(t,y(t),hold on ,plot(t0,y0,r*) 第第 5 章章 1 已知椭圆的长、短轴2, 4ba,用“小红点线”画如下图所示的椭圆 tby tax sin cos 。 (提示:参量t;点的大小;axis equal) -4-3-2-101234 -3 -2 -1 0 1 2 3 x y 答:在命令行输入如下命令:答:在命令行输入如下命令: 运行结果如下:运行结果如下: t=0:pi/100:2*pi; a=4;b=2; x=a.*cos(t); y=b.*sin(t); plot(x,y,r.,MarkerSize,12) axis equal xlabel(x) ylabel(y) 2 A,B,C 三个城市上半年每个月的国民生产总值表 p5.1。 试画出如图 p5-3 所示的三城市上 半年每月生产总值的累计直方图。(提示:bar(x,Y,style); colormap(cool); legend。) 表 p5.1各城市生产总值数据(单位:亿元) 城市1 月2 月3 月4 月5 月6 月 A170120180200190220 B120100110180170180 C70508010095120 123456 0 100 200 300 400 500 600 A B C 图 p5-3 答:答:在命令行输入如下命令:在命令行输入如下命令: 运行结果如下:运行结果如下: x=(1:6); Y=170,120,180,200,190,220;120,100,110,180,170,180;70,50,80,100,95,120; bar(x,Y,stacked); colormap(cool); legend(A,B,C,Location,NorthWest); axis(0,7,0,600) 第第 6 章章 1.请分别写出用 for 和 while 循环语句计算的 程序。此外,还请写出避免循环的数值、符号计算程序。(提示:sum 和“指数采用数 组”配合; tic, toc 可用以记录计算所花的时间。) 答:(答:(1)for 循环:循环:(2)while 循环循环 (3)符号计算:符号计算:(4)数值计算)数值计算 10000002 1000000 0 2 . 02 . 02 . 012 . 0 i i K clear tic syms n; f=0.2n; k=symsum(f,n,0,1000000) time=toc 2.编写一个函数 M 文件,它的功能:没有输入量时

温馨提示

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

评论

0/150

提交评论