首页 最新MATLAB教程2022a第6章习题解答-张志涌

最新MATLAB教程2022a第6章习题解答-张志涌

举报
开通vip

最新MATLAB教程2022a第6章习题解答-张志涌PAGEPAGE1M文件和句柄函数习题6及解答请分别写出用for和while循环语句计算的程序。此外,还请写出防止循环的数值、符号计算程序。〖解答〗〔1〕for环tics1=0;fork=0:1e6s1=s1+0.2^(k);end;s1tocs1=1.2500Elapsedtimeis1.453482seconds.〔2〕while环tics2=1;k=1;whilek<1e6+1%注意:上限与for环不同s2=s2+0.2^k;k=k+1;ends2tocs2=1.2500Elapsedtimeis...

最新MATLAB教程2022a第6章习题解答-张志涌
PAGEPAGE1M文件和句柄函数习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 6及解答请分别写出用for和while循环语句计算的程序。此外,还请写出防止循环的数值、符号计算程序。〖解答〗〔1〕for环tics1=0;fork=0:1e6s1=s1+0.2^(k);end;s1tocs1=1.2500Elapsedtimeis1.453482seconds.〔2〕while环tics2=1;k=1;whilek<1e6+1%注意:上限与for环不同s2=s2+0.2^k;k=k+1;ends2tocs2=1.2500Elapsedtimeis2.716870seconds.〔3〕数值求和指令tics3=sum(0.2.^(0:1e6))tocs3=1.2500Elapsedtimeis0.626723seconds.〔4〕符号求和指令ticsymsk;s4=vpa(symsum(0.2^k,0,1e6))tocs4=1.2500000000000000000000000000000Elapsedtimeis4.029501seconds.〖说明〗使用数值求和指令和“数组运算〞的计算速度最快。符号计算的精度最高,但速度慢。以上程序运行时间仅供参考。具体时间与所用机器、那程序是否初次运行、在MATLAB指令窗还是在M-book中运行等因素有关。编写一个函数M文件,它的功能:没有输入量时,画出单位圆〔见图p6.2-1〕;输入量是大于2的自然数N时,绘制正N边形,图名应反映显示多边形的真实边数〔见图p6.2-2〕;输入量是“非自然数〞时,给出“出错提示〞。此外,函数M文件应有H1行、帮助说明和程序编写人姓名。〖解答〗〔1〕函数M文件functionprob_solve602(n)%prob_solve602(n)plotacircleorapolygonwithnedges%prob_solve602plotacircle%n应为大于2的自然数%ByZZY,2006-2-15ifnargin==0t=0:pi/100:2*pi;x=exp(i*t);str='Circle';elseif(nargin~=0)&(n<=2)error('输入量应是大于2的自然数')end;ifn-round(n)~=0%检查非自然数error('输入量应是大于2的自然数')end;t=(0:n)/n*2*pi;x=exp(i*t);str=['Polygonwith',int2str(n),'edges'];%合成字符串endplot(real(x),imag(x),'r','LineWidth',4)title(str)axissquareimageoffshg〔2〕各典型运行情况prob_solve602图p6.2-1prob_solve602(6)图p6.2-2prob_solve602(2)???Errorusing==>prob_solve602输入量应是大于2的自然数prob_solve602(7.3)???Errorusing==>prob_solve602输入量应是大于2的自然数用泛函指令fminbnd求在x=0附近的极小值。fminbnd的第一个输入量要求使用匿名函数表达。〖解答〗〔1〕在0附近的较小区间[-0.5,0.5]内搜索y=@(x)-exp(-x).*abs(sin(cos(x)));[x1,y1]=fminbnd(y,-0.5,0.5)x1=-0.4999y1=-1.2681〔2〕在包含0的更大区间内搜索在[-0.5,0.5]区间搜索到的极小值点在该搜索区间的边界上,所以搜索区间应该进一步扩大。[x2,y2]=fminbnd(y,-1,1)x2=-0.8634y2=-1.4348〖说明〗在[-1,1]区间的搜索结果是区间的内点。进一步扩大搜索区间,只可能找到更远离0的极小值点,所以没有必要进一步搜索。在matlab的\toolbox\matlab\elmat\private文件夹上有一个“烟圈矩阵〞发生函数smoke.m。运行指令smoke(3,0,'double'),将生成一个3阶伪特征根矩阵如下A=-0.5000+0.8660i1.000000-0.5000-0.8660i1.00001.000001.0000现在的问题是:在MATLAB当前目录为\work情况下,如何利用函数句柄调用smoke.m函数,产生3阶伪特征根矩阵。请写出相应的程序或操作步骤。clearb=pwd%获取当前目录名字符串which('smoke')%检查在当前目录下能否看到smoke.mb_d=b;b_d(end-4:end)=[];%在b字符串中去除最后的四个字符,即work。str=[b_d,'\toolbox\matlab\elmat\private'];%构造smoke所在的目录字符串cd(str)%把smoke.m所在目录设置为当前目录。SM=@smoke;%创立smoke.m的函数句柄cd(b)%使work恢复为当前目录disp('')%为显示清楚起见,产生一个显示空行。A=SM(3,0,'double')%产生一个3阶“伪特征根〞矩阵disp('')pwd%显示当前所在目录,以证实符合题意。which('smoke')%再次检查在当前目录下能否看到smoke.m,起证实作用。disp('')b=C:\MATLAB2022\R2006a\work'smoke'notfound.A=-0.5000+0.8660i1.000000-0.5000-0.8660i1.00001.000001.0000ans=C:\MATLAB2022\R2006a\work'smoke'notfound.〔2〕在当前目录下,进行直接调用smoke.m的尝试B=smoke(3,0,'double')%用来证实:直接调用smoke函数将失败的事实???Undefinedcommand/function'smoke'.
本文档为【最新MATLAB教程2022a第6章习题解答-张志涌】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
chenxinlong
暂无简介~
格式:doc
大小:44KB
软件:Word
页数:5
分类:
上传时间:2022-07-25
浏览量:52