资源描述
1.二二维图形形【题【题1】在区间在区间-2X2内,绘制曲线内,绘制曲线y1=x2和函数和函数y2=-x2+3.1)在一图上同时画两个函数的曲线;在一图上同时画两个函数的曲线;2)先画先画y1,再在同一图上画再在同一图上画y2,得到两条曲线;得到两条曲线;3)y1用红色点线画,用红色点线画,y2用蓝色虚线画;用蓝色虚线画;4)标记标记“x2”和和“-x2+3”以明确区分两条线;以明确区分两条线;5)y1用圆圈标记画,用圆圈标记画,y2用星号标记画;怎样可看到明显标记。用星号标记画;怎样可看到明显标记。6)用颜色向量画红色线和绿色线;用颜色向量画红色线和绿色线;7)让两条曲线分别画在两个不同的图上;分别取题为让两条曲线分别画在两个不同的图上;分别取题为“平方曲线平方曲线”和和“负平负平方曲线方曲线”;x轴标记轴标记“时间时间/s”,y轴标记轴标记“位移位移/m”;8)修改图的显示范围:修改图的显示范围:x在在-3到到3间,间,y在在-15到到15间;间;9)加网格线;加网格线;10)让横轴和纵轴标度相同;让横轴和纵轴标度相同;11)让整个图呈正方形;让整个图呈正方形;12)在一个在一个22的两个子图上分别画的两个子图上分别画y1=x2 的点阶梯图、条形图、红色填充图、的点阶梯图、条形图、红色填充图、杆图杆图;【题题2】写出下图的绘制方法写出下图的绘制方法.1.二二维图形形 gtext(leftarrowsinx)%用鼠标选择标注的位置,为转义符,leftarrow产生左箭头【题题3】画椭圆抛物面的网格图和曲面图画椭圆抛物面的网格图和曲面图.1.三三维图形形【题题4】1.三三维图形形绘制制标准三准三维曲面曲面t=0:pi/20:2*pi;x,y,z=sphere;subplot(1,3,1);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(球面球面)x,y,z=cylinder(2+sin(2*t),30);subplot(1,3,2);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(柱面柱面)x,y,z=peaks(20);subplot(1,3,3);surf(x,y,z);xlabel(x),ylabel(y),zlabel(z);title(多峰多峰)1在0 2范围内绘制二维曲线图y=sin(x)*cos(5x)。2在0 2范围内绘制以Y轴为对数的二维曲线图。y=|1000sin(4x)|+13.在6 2范围内用plot和fplot函数分别绘制二维曲线图。4绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为 0 2。【题题5】P50实验四实验四fplot函数可自适应地对函数进行采样,更好地反应函函数可自适应地对函数进行采样,更好地反应函数变化规律。数变化规律。例:例:fplot(sin(x),0,2*pi,0.002,-+)1.二二维图形形三、函数三、函数f(x)曲线曲线 fplot(sin(x),cos(x),0,2*pi,0.001,)同时绘制正弦、余弦曲线同时绘制正弦、余弦曲线函数名函数名取值范围取值范围相对允许误差相对允许误差【例例8 8】绘制绘制sin(2*)*cos(2*)的的极坐标图,程序为:极坐标图,程序为:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho);绘制极坐标图命令绘制极坐标图命令title(polar plot);2.特殊坐特殊坐标图形形一、极坐标图一、极坐标图函数函数polar(theta,rho)极坐标角度极坐标角度极坐标半径极坐标半径例例9、程序:、程序:theta=linspace(0,2*pi);r=cos(4*theta);polar(theta,r);title(极坐标图极坐标图)二二维绘图函数小函数小结plot 二维图形基本函数二维图形基本函数fplot f(x)函数曲线绘制函数曲线绘制fill 填充二维多边图形填充二维多边图形polar 极坐标图极坐标图bar 条形图条形图loglog 双对数坐标图双对数坐标图semilogx X轴为对数的坐标图轴为对数的坐标图semilogy Y轴为对数的坐标图轴为对数的坐标图stairs 阶梯形图阶梯形图axis 设置坐标轴设置坐标轴clf 清除图形窗口内容清除图形窗口内容close 关闭图形窗口关闭图形窗口figure 创建图形窗口创建图形窗口grid 放置坐标网格线放置坐标网格线gtext 用鼠标放置文本用鼠标放置文本hold 保持当前图形窗口内容保持当前图形窗口内容subplot 创建子图创建子图text 放置文本放置文本title 放置图形标题放置图形标题xlabel 放置放置X轴坐标标记轴坐标标记ylabel 放置放置Y轴坐标标记轴坐标标记3.三三维图形形一、一、plot3plot3函数函数将二维函数将二维函数plotplot的功能扩展到三维空间,绘制三维图形。的功能扩展到三维空间,绘制三维图形。函数格式:函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,)其中其中x1,y1,z1表示三维坐标向量,表示三维坐标向量,c1,c2表示线形或颜色。表示线形或颜色。函数功能:以向量函数功能:以向量x,y,z为坐标,绘制三维曲线。为坐标,绘制三维曲线。【例例9 9】绘制三维螺旋曲线,其程序为:绘制三维螺旋曲线,其程序为:t=0:pi/50:10*pi;y1=sin(t),y2=cos(t);plot3(y1,y2,t);title(helix),text(0,0,0,origin);xlabel(sin(t),ylabel(cos(t),zlabel(t);grid;3.三三维图形形二、二、三维曲面三维曲面网格命令网格命令-meshgrid用法:用法:X,Y=meshgrid(x,y)-生成二维网格点生成二维网格点.X,Y=meshgrid(1:5,2:6)X=1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5Y=2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 625个网格点的横坐标个网格点的横坐标25个网格点的纵坐标个网格点的纵坐标曲面命令曲面命令-mesh函数和函数和surf函数函数分别用于绘制三维网格图和曲面图。分别用于绘制三维网格图和曲面图。函数格式:函数格式:mesh(x,y,z)surf(x,y,z)x,y指二维平面网格,指二维平面网格,z为对应网格处的函数值为对应网格处的函数值3.三三维图形形二、二、三维曲面三维曲面例:作曲面例:作曲面 的图形的图形解:解:x=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;mesh(X,Y,Z)或或surf(X,Y,Z)view(az,el)-设置观察点方向设置观察点方向 az为方位角,为方位角,el为仰角。为仰角。方位角为视点位置在方位角为视点位置在XYXY平面上的投影与平面上的投影与X X轴形成的角度,轴形成的角度,正值表示逆时针,负值表示顺时针。正值表示逆时针,负值表示顺时针。仰角为仰角为XYXY平面的上仰或下俯角,正值表示视点在平面的上仰或下俯角,正值表示视点在XYXY平面平面上方,负值表示视点在上方,负值表示视点在XYXY平面下方平面下方。3.三三维图形形三、三、视点视点解:解:x=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;subplot(2,2,1);mesh(X,Y,Z)或或surf(X,Y,Z)view(90,0);view(0,0);view(0,90);侧视图侧视图正视图正视图俯视图俯视图等高线图可通过函数等高线图可通过函数contourcontour和和contour3contour3绘制。绘制。【例例1313】多峰函数多峰函数peakspeaks的等高线图的等高线图3.三三维图形形四、四、等高线图等高线图x,y,z=peaks(30);contour(x,y,z,16);contour3(x,y,z,16);contour(X,Y,Z,16);contour3(X,Y,Z,16);解:解:x=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;subplot(2,2,1);mesh(X,Y,Z)或或surf(X,Y,Z)4.动画画设计如果将如果将Matlab产生的多幅图形保存起来,产生的多幅图形保存起来,并利用系统提供的函数进行播放,就可产并利用系统提供的函数进行播放,就可产生动画效果。系统所提供的动画功能函数生动画效果。系统所提供的动画功能函数有有getframe、moviein和和movie。getframe函数函数将当前图形画面取下并保存将当前图形画面取下并保存;格式为:格式为:m=getframe;将每一帧画面信息数据截取下来整理成列向量。将每一帧画面信息数据截取下来整理成列向量。moviein函数函数函函数数m=moviein(n)用用来来建建立立一一个个足足够够大大的的n列列的的矩矩阵阵m,用来保存用来保存n幅画面的数据,以备播放。幅画面的数据,以备播放。movie函数函数movie(m,n)以以每每秒秒n幅幅图图形形的的速速度度播播放放由由矩矩阵阵m的的列列向向量量所组成的画面。所组成的画面。4.动画画设计4.动画设计【例例1414】播放一个不断变化的眼球程序段。播放一个不断变化的眼球程序段。m=moviein(20);建立一个建立一个20个列向量组成的矩阵个列向量组成的矩阵for j=1:20 plot(fft(eye(j+10)%绘制出每一幅眼球图并保存到绘制出每一幅眼球图并保存到m矩阵中矩阵中 m(:,j)=getframe;endmovie(m,10);以每秒以每秒10幅的速度播放画面幅的速度播放画面4.动画画设计再如下述程序段播放一个直径不断变化的球体。再如下述程序段播放一个直径不断变化的球体。n=30 x,y,z=spherem=moviein(n);for jj=1:n surf(jj*x,jj*y,jj*z)m(:,jj)=getframe;endmovie(m,30);习题四1 在 0 2范 围 内 绘 制 二 维 曲 线 图y=sin(x)*cos(5x)。2在0 2范围内绘制以Y轴为对数的二维曲线图。y=|1000sin(4x)|+13.在6 2范围内用plot和fplot函数分别绘制二维曲线图。4绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为 0 2。谢 谢!
展开阅读全文