资源描述:
《MATLAB中的重要函数图形绘制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告专业:信息与计算科学班级:10级(1)班指导老师:姓名:学号:实验室:实验名称::MATLAB中的重要函数图形绘制时间:2012年4月19日实验目的及要求(一)、实验目的1、熟悉MATLAB的图形绘制的基本要点、图形标注、坐标轴的控制的基础上能进行较复杂的图形的绘制;2、掌握在MATLAB中多窗图形、多峰图形的绘制;3、掌握在MATLAB中等高线的绘图、方向与速度绘图、离散数据绘图;(二)、实验要求1、在MATLAB会进行较复杂的图形的绘制;2、练习在MATLAB中多窗图形、多峰图形的绘制;3、练习在MATLAB
2、中绘制广义高斯概率密度函数图形;4、练习在MATLAB中等高线的绘图、方向与速度绘图、离散数据绘图;二、实验设备(环境)及要求1、支持IntelPentiumⅢ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有Windows98/2000/XP操作系统及MATLAB软件;2、实验过程中,务必分析实验结果,按要求写出实验报告。(建议同时网上提交电子版实验报告:yw@126.com)三、实验内容与步骤1、MATLAB提供了一个多峰函数peaks.m,其函数表达式为f(x,y)=3*(1-x)^2*exp[
3、-x^2-(y+1)^2]-10(x/5-x^3-y^5)exp(-x^2-y^2)-1/3exp[-(x+1)^2-y^2]利用这一函数,可以方便地产生多条曲线的数据[x,y]=meshgrid(-3:0.15:3);%产生41*41的输入矩阵z=peaks(x,y);%计算相应的峰值函数x1=x(1,:);plot(x1,z),gridon这时可得到如图1所示的的多条曲线。图1、多峰函数的多条曲线图2、常用三角函数的曲线2、我们可以将图形进行分割,从而绘制出多条曲线。例如,将图形窗口分割成2*2的窗格,在每个窗格中分
4、别绘制出正弦、余弦、正切、余弦函数曲线,其MATLAB程序为x=0:pi/50:2*pi;k=[1265176101]x(k)=[];%删除正切与余切的奇异点figure(1)subplot(2,2,1)plot(x,sin(x)),gridon%绘制正弦函数的曲线subplot(2,2,2)plot(x,cos(x)),gridon%绘制余弦函数的曲线subplot(2,2,3)plot(x,tan(x)),gridon%绘制正切函数的曲线subplot(2,2,4)plot(x,cot(x)),gridon%绘制余切
5、函数的曲线执行后得到如图2所示的三角函数。3、在MATLAB中绘制广义高斯概率密度函数图形:MATLAB程序如下:x=-5:.1:5mu=0,sigma=1,alpha=2b=sqrt((sigma.^2*gamma(1/alpha))/gamma(3/alpha))y=alpha/(2*b*gamma(1/alpha))*exp(-(abs((x-mu)/b)).^alpha)plot(x,y)4、练习在MATLAB中等高线的绘图:1)coutour功能:绘制矩阵的等高线,例如:[X,Y]=meshgrid(-2:.2
6、:2,-2:.2:3);Z=X.*exp(-X.^2-Y.^2);[C,h]=contour(X,Y,Z);set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2);title('Thecontour')colormapgray执行后得图3所示的等高线图形a。2)contour功能:绘制出矩阵的三维等高线,例如:[X,Y]=meshgrid(-2:.25:2);Z=X.*exp(-X.^2-Y.^2);contour3(X,Y,Z,30);surface(X,Y,Z,'
7、EdgeColor',[.8.8.8],'FaceColor','none')title('Thethree-dinensionalcontour'),gridoffview(-15,25)执行后得图4所示的等高线图形b。图4、等高线图形a3)contourf功能:绘制并填充二维等高线图,例如:contourf(peaks(20),10)可以产生峰值函数peaks的等高线c,如图6所示:图5、等高线图形b图6、峰值函数的等高线图形c5、方向与速度绘图1)comet功能:绘制二维彗星图形,例如:执行下面程序可以得到如图7所
8、示的彗星图形,同时也给出了你向量x与y的时间曲线,如图8所示,程序如下:t=0:.01:2*pi;x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);figure(1)comet(x,y)figure(2)plot(t,x,'k-',t,y,'k--'),title('Th