matlab作业4.doc_第1页
matlab作业4.doc_第2页
matlab作业4.doc_第3页
matlab作业4.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

第四题目的:1) 练习高级功能,如数据结构,图像,动画等。题目说明:所有的题目代码写入相应的脚本中,如果题目没有要求特定的脚本文件名,自行定义一个即可。1.随机变量生成:生成一个500个随机数的行向量(使用randn函数),通过计算使之变成一个均值为2,方差为5的随机数向量。之后,使用mean和std函数验证你所生成的随机数向量是否均值和方差接近2和5。x=randn(1,500);y=2+sqrt(5)*xa=mean(y)b=std(y)22.硬币投掷试验:建立一个脚本命名为coinTest.m,我们来模拟投掷硬币的正面概率问题,我们知道,如果硬币质量均匀,投掷次数足够多,那么两面出现的概率应该为50%,因此首先我们应该设定足够多的投掷次数,例如5000次。记录投出正面的次数,计算正面出现的概率,然后绘制曲线。每次投掷的结果可以用rand和round来模拟,假设1为正面,0则为背面。每次投掷的结果累积和概率计算当然可以使用一个循环来完成。更好的办法是使用函数cumsum。另外把期望的0.5那条线也画出来以作对比。完成之后多运行几次,看看随着投掷次数的增加是不是正面出现的概率接近0.5。你也可以设置更多的投掷次数,例如下图是我做了10000次的结果n=0for i=1:10000a=round(rand(1,1);if a=1 n=n+1; endy(i)=n/i;disp(i)endx=1:10000;ylim(0 1);plot(x,y,k-,linewidth,2)hold on;plot(0 10000,0.5 0.5,r-,linewidth,2)xlabel(Number of coin flips);ylabel(probability of heads);title(sample probability of Heads in n flips of a simulated coin);legend(sample probability,Fair coin); 。3.cell练习:通常cell被用来存储字符串,因为对于每个位置的字符串可以使用不同的长度。1)建立一个33的cell,第一列赋值为Joe,Sarah,Pat。第二列包含了他们的last name:Smith,Brown,Jackson。第三列则是他们各自的收入状况:$30,000, $150,000, $120,000。赋值后显示结果在命令行查看是否正确。2)Sarah结婚了将她的last name换成了Meyers,对之前生成的cell进行修改并显示查看。3)Pat涨了$50,000的工资,修改她的收入,并显示查看。结果参考图如下:cellPro = Joe Smith $30,000 Sarah Brown $150,000 Pat Jackson $120,000cellPro = Joe Smith $30,000 Sarah Meyers $150,000 Pat Jackson $120,000cellPro = Joe Smith $30,000 Sarah Meyers $150,000 Pat Jackson $170,000cellPro=cell(3,3);cellPro(:,1)=Joe,Sarah,Pat;cellPro(:,2)=Smith,Brown,Jackson;cellPro(:,3)=$30,000,$150,000,$120,000cellPro(2,2)=MeyerscellPro(3,3)=$170,0004.使用structs:Structs在处理多样数据时非常有用。例如在命令行输入a=dir,可以看到返回的a就是一个structs,其中包括了很多域,例如name,bytes,isdir等。1)使用, a.bytes等查看当前路径下文件的情况;2)编写一个循环代码,遍历a中每一个文件,如果这个文件不是一个文件夹,则输出如下文本“File name contains X bytes”。运行结果可参考下例:HW4.doc contains 127488 bytesPro1.m contains 58 bytescellPrc.asv contains 161 bytescellPrc.m contains 198 bytescoinTest.asv contains 374 bytescoinTest.m contains 382 bytesstructPrc.asv contains 79 bytesstructPrc.m contains 151 bytes$HW4.doc contains 162 bytesWRL0001.tmp contains 128000 bytes5.Handels使用: 使用handels来完成一个如上图的图样来:1)建立一个脚本命名为handelsPractice.m;2)首先生成一个变量x,0:0.01:2pi,生成y=sin(x);3)使用figure打开一个绘图界面,使用plot(x,y,r),绘制正弦曲线4)使用xlim设置x轴范围为02pi;5)使用set和gca(get current axis)来设置xtick属性,值设为0 pi 2*pi,设置xticklabel属性,值为0,1,2;6)使用set和gca设置ytick属性,值为-1:0.5:1;7)使用grid on打开网格;8)使用set和gca设置ycolor属性为green,xcolor属性为cyan,另外设置color属性值为black;9)使用set和gcf(注意这里是gcf,get current figure),设置figure的color属性为0.3 0.3 0.3;10)使用title添加标题“One sine wave from 0 to 2”,fontsize属性为14,fontweight属性为bold,color属性为white,为了显示为,使用pi来正确显示这些数学符号;11)设置xlabel和ylabel,fontsize属性为12,color属性分别为cyan和green;12)如果你想粘贴到word中保持我们调成的这个样式,在copy figure之前,在copy options中figure background color中选择use figure color。至此完成。6.图片读取与绘制:使用imread读入12110015.jpg(我家两只猫的照片)。然后绘制原图与其R,G,B分量的图,共四张图。当你用imread读入图片后会发现这是一个三维矩阵,每一页的维度表示像素大小,三页分别表示R,G,B的颜色编码。如果你只要绘制红色,可以将后两页的值置为0来进行绘制。使用subplot,绘制为22的样式。结果参考下图:7.动画模拟Brown运动:声明一个函数叫brown2D(N)。这个函数只有一个输入参数为N,表示用来模拟Brown运动的点数。每一个点初始位置为(0,0),plot所有的点使用.作为marker。设置xlim和ylim为-11,axis设置为square。做1000次模拟,即写一个1000次的循环。每次更新点的x,y坐标值,更新的位置使用randn生成,方差为0.005。加入N为100,那么对于每一个x,y都需要使用randn来更新其坐标值。更新的值等于此次生成的随机变量值加上上一次的坐标值,在播放动画时,使用pause来停顿0.01秒。最好使用set来设置xdata和ydata属性的方式来更新x,y的坐标值。运行程序会看到点从中心开始向四周方向随机漂移。结果可参考我制作的avi视频,brown2D.avi。8.Julia分形集动画制作:第三次做的Julia函数可以用来绘制julia分形图,现在改成一个动画,我们只

温馨提示

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

评论

0/150

提交评论