MATLAB教程a习题解答第六章张志涌北航.doc

MATLAB教程a习题解答第六章张志涌北航.doc

ID:57379092

大小:139.50 KB

页数:7页

时间:2020-08-14

MATLAB教程a习题解答第六章张志涌北航.doc_第1页
MATLAB教程a习题解答第六章张志涌北航.doc_第2页
MATLAB教程a习题解答第六章张志涌北航.doc_第3页
MATLAB教程a习题解答第六章张志涌北航.doc_第4页
MATLAB教程a习题解答第六章张志涌北航.doc_第5页
资源描述:

《MATLAB教程a习题解答第六章张志涌北航.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MATLAB教程a-习题解答-第六章-张志涌-北航————————————————————————————————作者:————————————————————————————————日期:第6章M文件和句柄函数习题6及解答1请分别写出用for和while循环语句计算的程序。此外,还请写出避免循环的数值、符号计算程序。〖目的〗l练习for环和while环的使用方法。l避免循环,提高计算速度。l计时指令tic,toc的用法。〖解答〗(1)for环tics1=0;fork=0:1e6s1=s1+0.2^(k);end;s1tocs1=

2、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

3、=1.2500000000000000000000000000000Elapsedtimeis4.029501seconds.〖说明〗l使用数值求和指令和“数组运算”的计算速度最快。l符号计算的精度最高,但速度慢。l以上程序运行时间仅供参考。具体时间与所用机器、那程序是否初次运行、在MATLAB指令窗还是在M-book中运行等因素有关。1编写一个函数M文件,它的功能:没有输入量时,画出单位圆(见图p6.2-1);输入量是大于2的自然数N时,绘制正N边形,图名应反映显示多边形的真实边数(见图p6.2-2);输入量是“非自然数”时,给

4、出“出错提示”。此外,函数M文件应有H1行、帮助说明和程序编写人姓名。〖目的〗l较完整形式函数M文件的编写。lH1的书写,帮助区内容的组织。l指令nargin的用法。〖解答〗(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

5、';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

6、.2-1prob_solve602(6)图p6.2-2prob_solve602(2)???Errorusing==>prob_solve602输入量应是大于2的自然数prob_solve602(7.3)???Errorusing==>prob_solve602输入量应是大于2的自然数1用泛函指令fminbnd求在x=0附近的极小值。fminbnd的第一个输入量要求使用匿名函数表达。〖目的〗l练习匿名函数的表达和使用。l判断搜索结果是否符合要求。〖解答〗(1)在0附近的较小区间[-0.5,0.5]内搜索y=@(x)-exp(-x)

7、.*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〖说明〗l在[-1,1]区间的搜索结果是区间的内点。进一步扩大搜索区间,只可能找到更远离0的极小值点,所以没有必要进一步搜索。1在matlab的toolboxmatlabelmatpriv

8、ate文件夹上有一个“烟圈矩阵”发生函数smoke.m。运行指令smoke(3,0,'double'),将生成一个3阶伪特征根矩阵如下A=-0.5000+0.8660i1.000000-0.5000-0.8660i1.00001.000001.00

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。