《函数可视化与Matlab作.ppt》由会员分享,可在线阅读,更多相关《函数可视化与Matlab作.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验二实验二函数可视化与函数可视化与Matlab作图作图函数的可视化函数的可视化n f(x),g(x)是周期函数吗?观察它们的图象。是周期函数吗?观察它们的图象。n 程序程序 x=linspace(0,8*pi,100);F=inline(sin(x+cos(x+sin(x);y1=sin(x+cos(x+sin(x);y2=0.2*x+sin(x+cos(x+sin(x);plot(x,y1,k:,x,y2,k-)legend(sin(x+cos(x+sin(x),0.2x+sin(x+cos(x+sin(x),2)n令令matlab 绘图matlab语言丰富的图形表现方法,使得数学计算结果
2、可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令 graph r:f n.数图表 dimension dimenn n.数 维 在matlab中使用figure函数来建立图形窗口,调用方式 figure清除图形窗口命令 clf:清除当前图形窗口所有可见的对象 clear figurematlab 图形窗口主要内容:辅助操作:批注:图形名称 坐标轴名称 曲线标注 图例最基本的二维图形指令函数:plot plot plt vt.绘图 图形保持:同一坐标轴控
3、制多个图形窗口分割:同一窗口含多个坐标轴figure(n):表示第n个图形窗口 fi n.图形 nfigure(1);figure(2);figure(n)n打开不同的图形窗口,以便绘制不同的图形。grid on:在所画出的图形坐标中加入网格 grid n.计网格 grid off:除去图形坐标中的网格hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。hold off:使新图覆盖旧的图形线型、点形和颜色的控制线型、点形和颜色的控制线型、点形和颜色的控制线型、点形和颜色的控制plot(x,y,颜色线型点形颜色线型点形)plot(x,y,颜颜色色线线型型点点形形,x
4、,y,颜颜色线型点形色线型点形,)句柄图形和句柄图形和set命令改变属性值,可套用:命令改变属性值,可套用:nh=plot(x,y),n set(h,属属性性,属属性性值值,属属性性,属属性性值值,)n也也可可用用plot(x,y,属属性性,属属性性值值)设设置置图图形形对象的属性。对象的属性。属性变量和属性值属性变量和属性值属性变量和属性值属性变量和属性值n线宽:线宽:LineWidthn点的大小:点的大小:MarkerSizen线型:线型:LineStylen颜色:颜色:colorplot的调用格式 plot(x,y):n以以x为横坐标、为横坐标、y为纵坐标绘制二维图形为纵坐标绘制二维图形
5、nx,y是同维数的向量:描点,一一对应;是同维数的向量:描点,一一对应;n例在直角坐标系下画出例在直角坐标系下画出y=sin(x)在0,5之间的图形程序:程序:x=0:0.01:5;%产生产生x向量向量 y=sin(x.2);%注意点运算注意点运算,对应的对应的y坐标坐标 plot(x,y);%绘制图形绘制图形plot指令指令:plot(x,y,颜色线型点形颜色线型点形)例例:t=0:pi/20:8*pi;y=sin(t);plot(t,y,r:*)r 表示线的颜色为红色,:表示线型为虚线,*表示标示符号为星号1.1.单窗口单曲线绘图单窗口单曲线绘图单窗口单曲线绘图单窗口单曲线绘图思考:在直角
6、坐标系下画出在直角坐标系下画出y=sin(x)在0,5之间的图形,要求青色、点划线、圆圈程序:程序:x=0:0.01:5;%产生产生x向量向量-x轴取点 y=sin(x.2);%对应的对应的y坐标坐标 plot(x,y,c-.o);%绘制图形绘制图形2.单窗口多曲线绘图调用格式:1.plot(x,y1,x,y2,)2.plot(x,y1),hold on,plot(x,y2),hold off例:在直角坐标系下,同一窗口中画出在直角坐标系下,同一窗口中画出y=sin(t),y1=sin(t+0.25),y2=sin(t+0.5)在0,2pi之间的图形,例:t=0:pi/100:2*pi;y=s
7、in(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)yy1y2方法2.程序:t=0:pi/100:2*pi;y=sin(t);plot(t,y)hold on y1=sin(t+0.25);plot(t,y1)y2=sin(t+0.5);plot(t,y2)hold offhold on:画完一张图后,用此命令保持住,再画其它图。-连续画图命令hold off:使新图覆盖旧的图形如果去掉hold on,操作一下?画图结束后记得用hold off命令取消连续画图命令练习:在直角坐标系下,同一窗口中画出在直角坐标系下,同一窗口中画出y1=si
8、n(x),y2=sin(2x),y3=cos(3x)在0,2pi之间的图形,程序:t=0:pi/100:2*pi;y1=sin(x);y2=sin(2x);y3=cos(3x);plot(x,y1,x,y2,x,y3)在直角坐标系下,同一窗口中在直角坐标系下,同一窗口中绘制两条不同颜色、不同线型的曲线,调用格式:plot(x,y,颜色线型点形,x,y,颜色线型点形,)在0,8上绘制曲线y1=0.2+sin(-2x),采用绿色、实线、加号标记,曲线y2=sin(x)采用红色,虚线、星号标记程序:x=0:0.2:8;y1=0.2+sin(-2*x);y2=sin(x);plot(x,y1,g-+,
9、x,y2,r-*)3.单窗口多曲线分图绘图subplot 子图分割命令调用格式:subplot(m,n,p)按从左至右,从上至下排列 行列绘图序号subplot(m,n,p):将当前窗口分成m乘n个子窗口,并在第p个窗口建立当前的坐标平面。子窗口从左到右、从上到下的顺序编号。注意:函数 subplot 只是创建子图坐标平面,在该坐标平面内画子图,仍然需要使用plot函数或其他绘图函数t=0:pi/20:5*pi;subplot(1,2,1);plot(t,sin(t);grid on;subplot(1,2,2);plot(t,-sin(t);grid on;例例Plotyy(t,sin(t)
10、,t,-sin(t)例如:在同一窗口中在0,2pi画出sin(x)、cos(x)exp(x)、exp(-x)x=linspace(0,2*pi,100);%x轴从0-2pi取100个点subplot(2,2,1);plot(x,sin(x)%视窗的第1行第1列画sin(x)subplot(2,2,2);plot(x,cos(x)%视窗的第1行第2列画cos(x)subplot(2,2,3);plot(x,exp(x)%视窗的第2行第1列画exp(x)subplot(2,2,4);plot(x,exp(-x)%视窗的第2行第2列画exp(-x)特殊的二维图形函数特殊的二维图形函数1、极坐标图:、
11、极坐标图:调用格式:调用格式:polar(theta,rho,s)用角度theta(弧度表示)和极半径rho作极坐标图,用s指定线型。例解:theta=linspace(0,2*pi),rho=sin(2*theta).*cos(2*theta);polar(theta,rho,g)title(Polar plot of sin(2*theta).*cos(2*theta);gca属性控制:改变坐标刻度属性控制:改变坐标刻度改变当前轴对象句柄改变当前轴对象句柄gca属性属性用用h=plot(x,y),set(gca,属性属性,属性值属性值,)可可改变字体大小、坐标刻度等轴对象的内改变字体大小、
12、坐标刻度等轴对象的内容容。例如:。例如:set(gca,ytick,-1-0.5 0 0.5 1)n将将 y 坐标按向量坐标按向量-1-0.5 0 0.5 1将刻度分成将刻度分成4格;格;set(gca,yticklabel,a|b|c|d|e)n改变改变y坐标刻度的说明。坐标刻度的说明。例例例例观察:观察:n改变改变绘图的线型和颜色绘图的线型和颜色。n用用grid on 指指令令为为图图形形窗窗口口加加上上 网网格格线线,并并改改变变网网格格的的线线型和字体的大小型和字体的大小。ngca:轴对象句柄,如字体大小和网格线的属性等轴对象句柄,如字体大小和网格线的属性等程序程序 x=0:0.1:2
13、*pi;y=sin(x);plot(x,y);h=plot(x,y);set(h,LineWidth,5,color,red);grid on;set(gca,GridLineStyle,-,fontsize,16);坐标轴的控制坐标轴的控制坐标轴的控制坐标轴的控制axis指令指令 axis(xmin,xmax,ymin,ymax):设定二维图形的设定二维图形的x和和y坐标的范围;坐标的范围;分别表示分别表示x轴的起点、终点,轴的起点、终点,y轴的起点、终点轴的起点、终点naxis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。axis(xmin xmax ymin ymax z
14、min zmax):设定三维图形的坐标范围设定三维图形的坐标范围;例如:例如:x=0:0.1:2*pi;y=sin(x);plot(x,y);axis(-0.5,2,-0.1,0.7)文字表注指令:将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:title 给图形加标题:title(图形标题图形标题);xlable 给x轴加标注:xlabel(x轴名称轴名称)ylable 给y轴加标注:ylabel(y轴名称轴名称)text 在图形指定位置加标注:text(a,b,说明文字说明文字)gtext-将标注加到图形任意位置:gtext(说明文字说明文字)用鼠标在特定位置输入文字用鼠标在
15、特定位置输入文字grid on(off)打开、关闭坐标网格线 legend 添加图例 axis 控制坐标轴的刻度文字标注常用符号:pi();alpha();beta();leftarrow (左箭头)rightarrow (右箭头);bullet(点号)例:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);text(3,sin(3),yi=sin(t)text(2,cos(2),yi=cos(t)title(正弦和余弦曲线);legend(正弦,余弦)%这两个函数所用的线型 xlabel(时间t),ylabel(正弦、余弦)例在同一张图上画出
16、例在同一张图上画出例在同一张图上画出例在同一张图上画出t=0:0.1:3*pi;%定义两个变量 alpha=0:0.1:3*pi;plot(t,sin(t),r-);%画第一个图红实线hold on;%保留第一图plot(alpha,3*exp(-0.5*alpha),k:);%画第二个图黑虚线 set(gca,fontsize,15,fontname,times New Roman),%改变坐标轴字体大小和字体类型 xlabel(itt(deg);%设置x轴名称ylabel(itmagnitude);%设置y轴名称title(itsine wave and itAe-alphaittwave
17、);%设置图的表题名称程序讲解程序讲解程序讲解程序讲解text(6,sin(6),fontsize15The Value itsin(t)at itt=6rightarrowbullet,HorizontalAlignment,right),%文字标注text(2,3*exp(-0.5*2),fontsize15bulletleftarrow The Value of it3e-0.5 itt=,num2str(3*exp(-0.5*2),at itt=2);%文字标注legend(itsin(t),itAe-alphat)%说明这两个函数所用的线性注注1:num2str(b):把数字:把数字
18、b转化成字符串转化成字符串 string1,num2str,string2,用方括号用方括号注注2:legend 请结合图形观察此命令的使用请结合图形观察此命令的使用 和和text结合使用可在图形上显示函数值,结合使用可在图形上显示函数值,test(,string1,num2str,string2)ezplot功能简介:在matlab的命令窗口中键入help ezplot命令或者doc ezplot即可获得本函数的帮助信息。eaplot即:Easy to use function plotter。它是一个易用的一元函数绘图函数。特别是在绘制含有符号变量的函数的图像时,ezplot要比plot更
19、方便。因为plot绘制图形时要指定自变量的范围,而ezplot无需数据准备2直接绘出图形。plot3 基本的三维图形指令调用格式:plot3(x,y,z)x,y,z是长度相同的向量plot3(X,Y,Z)X,Y,Z是维数相同的矩阵plot3(x,y,z,s)带开关量plot3(x1,y1,z1,s1,x2,y2,z2,s2,)绘制二元函数绘制二元函数基本步骤:基本步骤:1.生成二维网格点生成二维网格点2.计算函数在网格点上的值计算函数在网格点上的值3.绘制函数图形绘制函数图形三维绘图三维绘图(meshgridmeshgrid指令:指令:指令:指令:生生生生成网格点成网格点成网格点成网格点)观察
20、观察meshgrid指令的效果。指令的效果。程序:程序:a=-0.98;b=0.98;c=-1;d=1;n=10;x=linspace(a,b,n);y=linspace(c,d,n);X,Y=meshgrid(x,y);plot(X,Y,+)观察结果观察结果三维绘图三维绘图(绘图指令绘图指令)mesh(X,Y,z):n在三维空间中绘出由在三维空间中绘出由(X,Y,z)表示的曲面表示的曲面;meshz(X,Y,z):n除了具有除了具有mesh的功能外,还画出上下高度线,的功能外,还画出上下高度线,meshc(X,Y,z):n除除了了具具有有mesh的的功功能能外外,还还在在曲曲面面的的下下方方
21、画画出函数出函数z=f(x,y)的等值线图,的等值线图,surf(X,Y,z):n也也是是三三维维绘绘图图指指令令,与与mesh的的区区别别在在于于mesh绘绘出出彩彩色色的线的线,surf绘出彩色的面绘出彩色的面,运行运行exp2_1,观察效果观察效果三维绘图三维绘图(等值线指令(等值线指令)表表现现二二维维函函数数的的图图形形的的另另一一种种方方式式是是绘绘制制等等值值线图。线图。contour(X,Y,z,n):nn条等高线,条等高线,n可缺省;可缺省;contourf(X,Y,z,n):n等值线间用不同的颜色填满,有更好的视觉效果;等值线间用不同的颜色填满,有更好的视觉效果;conto
22、ur3(X,Y,z,n):n在三维空间画出等值线图在三维空间画出等值线图colorbar:n将颜色与函数值对应起来显示在图中将颜色与函数值对应起来显示在图中。三维绘图三维绘图(等值线指令,继续(等值线指令,继续(等值线指令,继续(等值线指令,继续exp2_2exp2_2显示效显示效显示效显示效果果果果)clf,contour(X,Y,z,40),colorbarcontourf(X,Y,z,40),colorbarcontour3(X,Y,z,40),colormap(0,0,0)为等值线标上函数值为等值线标上函数值:n可套用下面程序的格式可套用下面程序的格式.n cs,h=contour(X
23、,Y,z,15);n clabel(cs,h,labelspacing,244)labelspace是是数数值值标标记记之之间间相相隔隔的的宽宽度度,默默认认值值为为144,这里取了这里取了244,空间曲线和运动方向的表现空间曲线和运动方向的表现一条空间曲线可以用矢量函数表示为一条空间曲线可以用矢量函数表示为n它的速度矢量表现为曲线的切矢量:空间曲线和运动方向的表现空间曲线和运动方向的表现n很显然飞行曲线方程为:绘制空间曲线(指令)绘制空间曲线(指令)plot3(x,y,z):n绘制三维空间曲线,用法和绘制三维空间曲线,用法和plot类似。类似。quiver(X,Y,u,v):绘制二维矢量,绘
24、制二维矢量,n在坐标矩阵点在坐标矩阵点X,Y处绘制矢量处绘制矢量u,v,其中其中u为矢量的为矢量的x坐标,坐标,v为矢量的为矢量的y 坐标,其维数不坐标,其维数不小于小于2。quiver3(X,Y,Z,u,v,w):):n绘制三维矢量,用法与绘制三维矢量,用法与quiver类似。类似。Gradient:gradient reidint n.数数物物 梯度梯度 n Fx,Fy,Fz=gradient(F)为函数为函数F数值梯度数值梯度绘制空间曲线绘制空间曲线(程序讲解(程序讲解exp2_3)exp2_3.mclf,t=linspace(0,1.5,20);x=t.2;y=(2/3)*t.3;z=(6/4)*t.4-(1/3)*t.3;plot3(x,y,z,r.-,linewidth,1,markersize,10),hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z);h=quiver3(x,y,z,Vx,Vy,Vz),set(h,linewidth,1),grid on axis(0 1.5 0 1.5 0 40)xlabel(x),ylabel(y),zlabel(z),box on运行程序运行程序Matlab功能非常丰富,有兴趣的同学可以自己多学习一下,对今后的学习很有帮助