资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章习题参考答案1. 请编写绘制以下图形的MATLAB命令,并展示绘得的图形.(1) 、分别是椭圆的内切圆和外切圆.解答方法一(显函数和伸缩变换)的显函数形式为,并利用伸缩变换:的横、纵坐标都是的两倍,的横、纵坐标分别是的两倍和一倍. 编写程序时运用好MATLAB函数plot的语法格式2(x是向量, y是矩阵),以及格式4,使程序简洁. 使用命令axis equal,才能绘得真正的圆. 程序:x=-1:.05:1; % 由40段折线连接成半圆周y=sqrt(1-x.2);plot(x,y;-y,k,2.*x,y;-y;2.*y;-2.*y,k)axis equaltitle(方法一(显函数))绘得的图形:评价:方法一绘得的图形在外切圆和椭圆的左右两端看起来明显还是折线,而在其余地方看起来比较光滑,原因在外切圆和椭圆的左右两端,导数趋于无穷大,所以,虽然x的步长是固定的,但是在左右两端,y会比别处有更显著的变化. 当然,如果令x的步长更小,例如x=-1:.01:1,绘得的图形将会看起来更光滑一些. 方法二(参数方程和伸缩变换)的参数方程为,关于伸缩变化和MATLAB函数plot的语法的讨论与方法一相同. 特意选取参数t的步长,使得半圆周仍然由40段折线连接而成,如同方法一一样.程序:t=linspace(0,2*pi,81); % 由40段折线连接成半圆周x=cos(t);y=sin(t);plot(x,y,k,2.*x,y;2.*y,k)axis equaltitle(方法二(参数方程))绘得的图形:评价:虽然半圆周由同样多的折线段连接而成,但是方法二绘得的图形看起来处处一样光滑,事实上,方法二通过等分圆心角来取得圆周上的采样点,并连结线段,所以绘得的“圆形”实际上是正多边形.(2) 指数函数和对数函数的图像关于直线y=x对称.解答指数函数和对数函数互为反函数,在MATLAB函数plot的输入当中交换x和y的次序,就实现反函数,而且图像就是关于直线y=x对称. 根据两点确定一条直线的原理,绘制直线段只需给出两端点的坐标. 使用命令axis equal,才能绘得真正的对称图形,加上坐标网格,能增强对称效果. 指数函数的自变量x的取值区间的左端不能太小,否则绘得的图像会在左边有一段与x轴重合. 程序:x=-3:.1:3;y=exp(x); plot(x,y,k,y,x,k,-3,20,-3,20,k)axis equalaxis(-3,20,-3,20)gridxlabel(x)ylabel(y)title(y=ex 和 y=ln x 的函数图像关于直线 y=x 对称)绘得的图形:(3) 黎曼函数的图像(要求分母q的最大值由键盘输入).解答输入的英文单词是input,通过在MATLAB帮助文档检索input这个关键词,查到实现键盘输入的MATLAB函数是input,语法格式为:(1) user_entry = input(prompt) 输入项是一个字符数组,input将该字符数组显示在命令窗口,作为提示语,等待用户从键盘输入数值数组并按回车键;input将用户从键盘输入的数值数组赋值给user_entry所代表的变量名.(2) user_entry = input(prompt, s) 第二输入项是规定的字符“s”,表示等待用户从键盘输入的是字符数组.条件“是既约分数,0x0”,即p和q是正整数,pq,p和q的最大公约数等于1. 例如:当q=2时,有黎曼函数的图像的一个坐标点(1/2 , 1/2);当q=3时,有黎曼函数的图像的两个坐标点(1/3 , 1/3)和(2/3 , 1/3);当q=4时,有黎曼函数的图像的两个坐标点(1/4 , 1/4)和(3/4 , 1/4),而x=2/4不是既约分数;可见,在程序中应设置二重循环语句:第一重(外重)是分母q从2到由键盘输入的最大值的循环,步长为1;第二重(内重)是分子p从1到q-1的循环,步长为1,如果p和q的最大公约数等于1,就把p/q和1/q分别添加入横坐标数组x和纵坐标数组y. 注意x和y需要在循环语句之前说明为空数组.当x为有理数(0x1)时,黎曼函数的图像是离散的点集;当x为无理数(0x1)或x=0和1时,黎曼函数的图像是x轴上的0到1之间的稠密点集,看起来就是x轴上从0到1之间的直线段. 因此,图像应该由很多离散点以及x轴上从0到1之间的直线段共同组成. 利用axis命令控制坐标图的坐标范围是,使得坐标图的下边界恰好是x轴上从0到1之间的直线段. 程序:n=input(分母的最大值 n = ); x=;y=;for q=2:n for p=1:q-1 if gcd(p,q)=1 x=x,p./q; y=y,1./q; end endendplot(x,y,k.)axis(0,1,0,1)xlabel(x)ylabel(y)s=strcat(分母的最大值 n = ,num2str(n);gtext(s);title(第一章习题1(3),黎曼函数的图像)当分母的最大值n=30时绘得的图形:当分母的最大值n=100时绘得的图形:3. 两个人玩双骰子游戏,一个人掷骰子,另一个人打赌掷骰子者不能掷出所需点数,输赢的规则如下:如果第一次掷出3或11点,打赌者赢;如果第一次掷出2、7或12点,打赌者输;如果第一次掷出4,5,6,8,9或10点,记住这个点数,继续掷骰子,如果不能在掷出7点之前再次掷出该点数,则打赌者赢. 请模拟双骰子游戏,要求写出算法和程序,估计打赌者赢的概率. 你能从理论上计算出打赌者赢的精确概率吗?请问随着试验次数的增加,这些概率收敛吗? 解答(一)算法输入 模拟试验的次数n;输出 打赌者赢的概率p.第1步 初始化计数器k=0;第2步 对i=1,2,n,循环进行第37步;第3步 产生两个在16这6个整数中机会均等地取值的随机数,并把这两个随机数之和赋值给x;第4步 如果x是3或11,那么k加1,进入下一步循环;否则,做第5步;第5步 如果x不是2、7和12,那么做第68步;否则,直接进入下一步循环;第6步 产生两个在16这6个整数中机会均等地取值的随机数,并把这两个随机数之和赋值给y;第7步 如果y不等于x,也不等于7,重复第6步所做的;第8步 如果y等于7,那么k加1,进入下一步循环;否则,直接进入下一步循环;第9步 计算概率p=k./n .(二)MATLAB程序n=10000;k=0;for i=1:n x=ceil(rand*6)+ceil(rand*6); if x =3|x=11 k=k+1; elseif x=2&x=7&x=12 y=ceil(rand*6)+ceil(rand*6); while y=x&y=7 y=ceil(rand*6)+ceil(rand*6); end if y=7 k=k+1; end endendp=k/n注 &与&,|与|分别是短运算符与长运算符,功能有区别,但在上面的程序中效果一样。(三)理论计算每个骰子的点数有6种结果:1,2,3,4,5,6. 掷两个骰子,掷出的点数组合共有6636种结果. 定义是点数之和的概率,则,.玩双骰子游戏,第1次掷出的点数之和为3或11,则打赌者赢,可算得此情形打赌者赢的的概率为当第1次掷出的点数之和是4,5,6,8,9或10,继续掷骰子,直到掷出的点数之和是7或原来的值为止,如果先得到的点数之和是7,则打赌者赢,利用条件概率,可算得此情形打赌者赢的概率为所以打赌者赢的理论概率P为(四)收敛性分析一次打赌相当于伯努利概型,记为随机变量X,取值为0(表示打赌者输)或1(表示打赌者赢),则X的期望为P,方差为.n次打赌,即相互独立地重复试验n次,试验结果可记作随机变量序列,则打赌者赢的频率为平均值. 弱大数定律:,都有.强大数定律:.中心极限定理:当时,随机变量的分布趋向于标准正态分布(也就是说,当n充分大的时候,随机变量的分布近似于均值为P、方差为的正态分布).用循环语句实现以下计算:考虑试验次数n=100、400、1600和6400共四种情况(即),在每一种情况下,重复计算1000次,得到频率的1000个值,用MATLAB函数std计算无偏标准差,用MATLAB函数hist绘制直方图,添加标示理论概率P的铅直线,用asix控制坐标范围. 程序:n=100,400,1600,6400;for m=1:4; for j=1:1000 k=0; for i=1:n(m) x=ceil(rand*6)+ceil(rand*6); if x =3|x=11 k=k+1; elseif x=2&x=7&x=12 y= ceil(rand*6)+ceil(rand*6) ; while y=x&y=7 y=ceil(rand*6)+ceil(rand*6); end if y=7 k=k+1; end end end p(j,m)=k/N(m); endendP=251/495 % 打赌者赢精确概率,极限分布的均值S=sqrt(P*(1-P)./n) % 极限分布的均方差sigma=std(p) % 1000个频率的无偏标准差for m=1:4 subplot(2,2,m)hist(p(:,m),15)hold on plot(P,P,0,250,k) axis(min(p(:,1), max(p(:,1), 0, 250) % 范围固定 str=strcat(试验次数 n=,num2str(n(m);title(str)hold offend命令窗口显示的计算结果为:P = 0.50707S = 0.049995 0.024998 0.012499 0.0062494sigma = 0.051777 0.025446 0.012144 0.0063688绘得的图形(四幅直方图的横坐标范围是固定
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号