Matlab绘图
Matlab实验报告(三)-MATLAB绘图
实验目的1.掌握MATLAB的基本绘图命令。
2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。
一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。
⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。
当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。
⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。
线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。
直方图的绘图函数有以下两种基本形式。
·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。
·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。
x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。
Matlab 绘图大全
要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
例1-6 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。
title('bar(x,y,''g'')');axis([0,7,-2,2]);
subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,''b'')');axis([0,7,-2,2]);
subplot(2,2,3);stem(x,y,'k');
例1-7 在0≤x≤2p区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。
程序如下:
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加图形标题
1.6 对函数自适应采样的绘图函数
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统 默认值为2e-3。选项定义与plot函数相同。
axis off:取消坐标轴。
axis on:显示 坐标轴。
给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
实验四 MATLAB的绘图
西安邮电大学《Matlab程序设计基础》课内实验报告题目:实验四MATLAB的绘图院系名称:计算机学院专业名称:计算机科学与技术班级:计科1502班内序号:05141107(29)学生姓名:赵阳指导教师:张老师实验四MATLAB的绘图一、实验目的:掌握基本的绘图函数plot。
二、实验内容:1、在同一坐标系下绘制下面三个函数在[0,4pi]的图象。
代码如下:t=0:pi/100:4*pi;y1=t;y2=sqrt(t);y3=4*pi*exp(-0.1*t).*sin(t);plot(t,y1,t,y2,t,y3)2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。
代码如下:x=linspace(-6,6,100);y=[];for x0=xif x0<=0y=[y,sin(x0)];elseif x0<=3y=[y,x0];elsey=[y,-x0+6];endendplot(x,y)3、用compass函数画下面相量图ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])代码如下:ua=1;ub=cos(-2*pi/3)+sin(-2*pi/3)*i;uc=cos(2*pi/3)+sin(2*pi/3)*i;compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])4、三维空间曲线绘制z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)代码如下:z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)5、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。
代码如下:[x,y]=meshgrid(-3:0.5:3);z=-x^2/10+y^2/10;mesh(x,y,z)三、思考题在同一坐标系下,用不同颜色和线型绘制以下两个函数在tÎ[-2p,2p]范围内的图象。
MATLAB画图——基础篇
MATLAB画图——基础篇MATLAB画图——基础篇在MATLAB使⽤的过程中,学会画图是⼀项必要的技能。
在这⾥,我总结了部分简单的画图函数,同时附上代码(本⽂中的程序为了⽅便给出的数据都很简单,⼤家可以⾃⼰去尝试其他数据)。
这对刚刚开始接触MATLAB的⼩⽩来说,我认为还是很有帮助的。
⽂章⽬录⼀、plot()函数1.⼆维图形(1)绘图选项线型颜⾊标记符号-实线b蓝⾊.点s⽅块:虚线g绿⾊o圆圈d菱形.-点划线r红⾊x叉v朝下三⾓符号-双划线c青⾊+加号^朝上三⾓符号m品红*星号<朝左三⾓符号y黄⾊>朝右三⾓符号p五⾓星k⿊⾊h六⾓星w⽩⾊(2)图形的辅助标注和窗⼝的分割title(图形说明)xlabel(x轴说明)ylabel(y轴说明)text(x,y图形说明)——在x,y轴处添加⽂字说明legend(图例⼀,图例⼆,…)subplot(m,n,p)——将绘图区域分割成m*n个⼦区域,并按照⾏从左⾄ 右,从上⾄下依次编号。
p表⽰第p个绘图⼦区域。
注意:如果是要两个图画到同⼀个坐标⾥⾯,则在两个plot函数之间添加⼀⾏hold on(3)格式plot(x)——缺省⾃变量绘图格式plot(x,y)——基本格式。
以y(x)的函数关系作图。
如果y是n*m的矩 阵,则x为⾃变量,作出m条曲线。
plot(x1,y1,x2,y2,…,xn,yn)——多条曲线绘图格式plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)——含选项的绘图格式x1=[1 2 3 4 5 6 7 8 9];x2=[2 4 6 8 10 12 14 16 18];y1=[1 4 9 16 25 36 49 64 81];y2=[18 16 14 12 10 8 6 4 2];subplot(4,1,1);plot(x1);title('例⼀');xlabel('⾃变量');ylabel('因变量');subplot(4,1,2);plot(x1,y1);title('例⼆');xlabel('⾃变量');ylabel('因变量');subplot(4,1,3);plot(x1,y1,x2,y2);title('例三');xlabel('⾃变量');ylabel('因变量');subplot(4,1,4);plot(x1,y1,'m+',x2,y2,'c*');title('例四');xlabel('⾃变量');ylabel('因变量');2.三维图形(1)格式plot3(x1,y1,z1,‘选项⼀’,x2,y2,z1,‘选项⼆’,…)x,y,z是长度相同的向量:⼀条曲线x,y,z是维度相同的矩阵:多条曲线(2)⽹格矩阵⽣成函数:meshgrid[X,Y]=meshgrid(x,y)x,y是给定的向量,X,Y是⽹格划分后得到的⽹格矩阵注意,这个函数⽤来⽣成⽹格矩阵,不是直接⽤来画图的,配合mesh使⽤。
MATLAB第三节 绘图
2,0.5],[0,2]上画隐函数 的图. 【例】 在[-2,0.5],[0,2]上画隐函数 e x + sin( xy ) = 0 的图 ezplot('exp(x)+sin(x*y)',[ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
ezplot(‘x(t) , y(t) ezplot( x(t)’,’y(t) ,[tmin,tmax]) x(t) y(t)’,[tmin,tmax])
上画y=cos x 的图形 的图形. 【例】 在[0,π ]上画 上画
ezplot('sin(x)',[0,pi])
ezplot(‘f(x,y) ,[xmin,xmax,ymin,ymax]) ezplot( f(x,y)’,[xmin,xmax,ymin,ymax]) f(x,y)
note:表示在区间xmin<x<xmax和 ymin<y<ymax绘制隐 函数f(x,y)=0的函数图.
4.2特殊坐标图形 特殊坐标图形
semilogx(x,y)—单对数X semilogx(x,y) 单对数X轴绘图命令 semilogy(x,y)—单对数Y轴绘图命令 semilogy(x,y) 单对数Y
【例】以X轴为对数重新绘制上述曲线; 轴为对数重新绘制上述曲线; x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 单对数X semilogx(x,y) %单对数X轴绘图 【例】以Y轴为对数重新绘制上述曲线; 轴为对数重新绘制上述曲线; x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 单对数Y semilogy(x,y) %单对数Y轴绘图
第二章 MATLAB绘图
说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
y=2e-0.5xsin(2πx)及其包络线,并加网格线。
程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持
第 3章 MATLAB绘图入门
例:利用函数hist绘制randn概率分布图。 解:>> Y = [1, 2, 2, 5, 6, 6, 8, 11]; hist(Y) >>hist(Y,20) >> Y = [1,2.5,2.1;3,3.5,6]; hist(Y),legend('第一列','第二列','第三列')
例:利用函数rose绘制极坐标下的玫瑰图,其中t为 随机数。 x=rand(1000,1)*100; t=x*pi/180; %设置x为正态分布随机数, 设置函数关系 rose(t) ;
例
在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
>>x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
设置曲线样式表
线型 : -. 实线 虚线 点划线 . o x 点标记 点 小圆圈 叉子符 y m c 颜色 黄 棕色 青色
t=[0:pi/20:4*pi]; %定义时间范围 hold on %允许在同一坐标系下绘制不同的图形 axis([0 4*pi -10 10]) plot(t, 10*sin(t), 'r:') %线形为点划线、颜色为红色、数据点标记为加号 plot(t, 5*cos(t),'b*--') %线形为虚线、颜色为蓝色、数据点标记为星号 xlabel('时间t'); ylabel('幅值x'); title('简单绘图实例'); legend('x1=10sint:点画线','x2=5cost:虚线') %添加文字标注 gtext('x1'); gtext('x2') %利用鼠标在图形标示曲线说明文字 grid on %在所画出的图形坐标中添加栅格
MATLAB实验报告绘图
68 54 35;
45 25 12;
48 68 45;
68 54 69];
x=sum(t);
h=pie(x);
textobjs=findobj(h,'type','text');
str1=get(textobjs,{'string'});
val1=get(textobjs,{'extent'});
运行图像
4、采用模型 画一组椭圆
输入程序:th = [0:pi/50:2*pi]';
a = [0.5:.5:4.5];
X = cos(th)*a;
Y = sin(th)*sqrt(25-a.^2);
plot(X,Y),axis('equal'),xlabel('x'), ylabel('y')
title('A set of Ellipses')
oldext=cat(1,val1{:});
names={'商品一;'商品二';'商品三'};
str2=strcat(names,str1);
set(textobjs,{'string'},str2)
val2=get(textobjs,{'extent'});
newext=cat(1,val2{:});
xlable('sin(t)'),ylable('cos(t)'),zlable('t');
gridon;
输出图像
9、用MATLAB绘制饼图
Matlab绘图命令
Matlab绘图命令:1.p lot(x,y):该命令用于描点法作图,给出x的范围,然后利用函数式计算出每一个x对应的y,注意,x间距取得越小,图像会画的越圆滑,这是因为plot描点法作图的原因.如:plot(x,y,’--’)2.f plot(y,[xstart xend]):该命令同样用于绘制图像,但是只需要给出x范围与y关于x的函数式即可,相比于plot 函数更加方便。
3.g rid on可以给图像加上网格4.h old on:用于连续绘图,如果想要在一个坐标系中画出多个图形的话,则需要在每次画完图形之前加入这个命令。
5.l egend(‘y’):在图上标出y曲线线型6.设置图线颜色:plot(x,y,’颜色’)7.a xis ( [xmin xmax ymin ymax] ):设置图像横纵坐标范围例:fplot('cos(x)',[-5 5],'r--'),axis ( [-5 5 -1 1] ),8.s ubplot(m, n, p):用于在一个窗口中绘制多个图像。
例:subplot(1, 2, 1);fplot('sin(x)',[-5 5],'b--');subplot(1, 2, 2);fplot('cos(x)',[-5 5],'r--');9.p lot(thea,r): 绘制极坐标图形,thea 是角变量,r是极轴长度例:a = 2;theta = [0:pi/90:2*pi];r = a*theta;polar(theta,r), title('阿基米德螺线')10.bar(x,y):画直方图11.stem(t,f):绘制针头图,这种图经常用来表示波动情况,或者各值和平均值的偏差,可以一目了然。
例:subplot(1, 2, 1);plot(t,f),xlabel('时间(秒)'),ylabel('弹簧响应');subplot(1, 2, 2);stem(t,f),xlabel('时间(秒)'),ylabel('弹簧响应');12.counter3(x,y,z,n):绘制三维等高图例:[x,y] = meshgrid(-2:0.1:2);z = y.*exp(-x.^2 - y.^2);contour3(x, y, z, 30);surface(x,y,z,'EdgeColor',[.8 .8 .8],'FaceColor','none');grid off;view(-15,20);13.mesh(x,y,z):绘制普通三维图14.surf(x,y,z):绘制颜色渐变三维图15.。
matlab画图大全[资料]
matlab绘图大全Matlab绘图系列之高级绘图一、目录1.彗星图二维彗星图三维彗星图2.帧动画3.程序动画4.色图变换5.Voronoi图和三角剖分Voronoi图三角剖分6.四面体7.彩带图彩带图三维流彩带图8.伪彩图9.切片图切片图切片轮廓线图10.轮廓图显示轮廓线显示围裙瀑布效果带光照模式的阴影图11.函数绘图轮廓线、网格图、曲面图、轮廓网格图轮廓曲面图、二维曲线、极坐标曲线图、自定义函数12.三维图形控制视点灯光效果色彩控制二、图形示例1.彗星图二维彗星图t=0:.01:2*pi;x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);comet(x,y);title('二维彗星轨迹图')hold onplot(x,y)三维彗星图a=12;b=9;T0=2*pi;%T0是轨道的周期T=5*T0;dt=pi/100;t=[0:dt:T]';f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180;%未经轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g')%画全程轨线hold on,sphere(20);%画地球axis offtitle('卫星返回地球示例')x1=-18*T0;x2=6*T0;y1=-12*T0;y2=12*T0;z1=-6*T0;z2=6*T0;axis([x1 x2 y1 y2 z1 z2])% axis([-15 10 -15 10 -10 10])axis equalcomet3(x,y,z,0.02);%画运动轨线hold off2.帧动画Z=peaks;surf(Z)%绘制网格表面图axis tightset(gca,'nextplot','replacechildren');%设定axis覆盖重画模式title('帧动画播放示例')for j=1:20surf(sin(2*pi*j/20)*Z,Z)%重新绘制网格表面图,这里后面一个Z当成了颜色矩阵F(j)=getframe;%创建帧endmovie(F,20)%播放动画20次3.程序动画t=0:pi/50:10*pii=1;h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');%设定擦除模式grid onaxis([-2 2 -2 2 -1 10*pi])title('程序动画示例')for i=2:length(t)set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));drawnowpause(0.01)end4.色图变换load spineimage(X)colormap coolspinmap(10)5.Voronoi图和三角剖分Voronoi图rand('state',5)x=rand(1,10);y=rand(1,10);subplot(131)voronoi(x,y);%绘制voronoi图形axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(132)[vx,vy]=voronoi(x,y);plot(x,y,'r+',vx,vy,'b-');%应用返回值绘制axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(133)rand('state',5);x=rand(10,2);[v,c]=voronoin(x);%返回值v参数维voronoi顶点矩阵,返回值c 参数为voronoi元胞数组for i=1:length(c)if all(c{i}~=1)patch(v(c{i},1),v(c{i},2),i);%应用色图iendendaxis equalaxis([-0.2 1.6 -0.5 2.5])box on三角剖分[x,y]=meshgrid(1:15,1:15);tri=delaunay(x,y);z=peaks(15);trimesh(tri,x,y,z)6.四面体d=[-1 1];[x,y,z]=meshgrid(d,d,d);%定义一个立方体x=[x(:);0];y=[y(:);0];z=[z(:);0];%[x,y,z]分别为加上中心的立方体顶点X=[x(:) y(:) z(:)];Tes=delaunayn(X);%返回m×n的数组值tetramesh(Tes,X);%绘制四面体图camorbit(20,0);%旋转摄像目标位置7.彩带图彩带图[x,y]=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);ribbon(y,z)三维流彩带图load wind%打开保存的数据lims=[100.64 116.67 17.25 28.75 -0.02 6.86];%定义坐标轴范围[x,y,z,u,v,w]=subvolume(x,y,z,u,v,w,lims);%lims来定义数据子集[sx sy sz]=meshgrid(110,20:5:30,1:5);%定义网格点verts=stream3(x,y,z,u,v,w,sx,sy,sz,.5);%计算彩带顶点cav=curl(x,y,z,u,v,w);%计算卷曲角速度wind_speed=sqrt(u.^2+v.^2+w.^2);%计算流速h=streamribbon(verts,x,y,z,cav,wind_speed,2);%绘制流彩带图view(3)8.伪彩图n=6%定义轮数r=(0:n)'/n;%定义轮的半径theta=pi*(-n:n)/n;%定义轮的扇区角X=r*cos(theta);Y=r*sin(theta);%定义网格顶点C=r*cos(2*theta);%定义色图pcolor(X,Y,C)%绘制伪彩图axis equal tight9.切片图切片图[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);v = x.*exp(-x.^2-y.^2-z.^2);xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];slice(x,y,z,v,xslice,yslice,zslice)colormap hsv切片轮廓线图[x y z v]=flow;%打开水流数据h=contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10));%切片轮廓线view([-12 30])10.轮廓图显示轮廓线[x,y,z]=peaks;subplot(1,2,1)meshc(x,y,z);%同时画出网格图与轮廓线title('meshc 网格图与轮廓线')axis([-inf inf -inf inf -inf inf]);subplot(1,2,2)surfc(x,y,z);%同时画出曲面图与轮廓线title('surfc 曲面图与轮廓线')axis([-inf inf -inf inf -inf inf]);显示围裙[x y z]=peaks;meshz(x,y,z);瀑布效果[X,Y,Z]=peaks(30);waterfall(X,Y,Z)带光照模式的阴影图[x,y]=meshgrid(-3:1/8:3);z=peaks(x,y);surfl(x,y,z);shading interp%着色处理colormap(gray);%灰度处理axis([-3 3 -3 3 -8 8])11.函数绘图轮廓线、网格图、曲面图、轮廓网格图%图1绘制轮廓线、网格图、曲面图、轮廓网格图subplot(221)f=['3*(1-x)^2*exp(-(x^2)-(y+1)^2)-10*(x/5-x^3-y^5)*exp(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2)'];%定义双变量x、y的函数式ezcontour(f,[-3,3],49)%x、y为[-3 3],网格为49×49subplot(222)ezmesh('sqrt(x^2+y^2)');subplot(223)ezsurf('real(atan(x+i*y))')%经过滤波,如果相同数据surf绘图没有滤波subplot(224)ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])%x、y的数值范围分别为[-5 5]、[-2*pi 2*pi]轮廓曲面图、二维曲线、极坐标曲线图、自定义函数%图2绘制轮廓曲面图、二维曲线、极坐标曲线图、自定义函数figure(2)subplot(221)ezsurfc('sin(u)*sin(v)')subplot(222)ezplot('x^2-y^4');subplot(223)ezpolar('1+cos(t)')subplot(224)fplot('myfun',[-20 20])function Y=myfun(x)Y(:,1)=200*sin(x(:))./x(:);Y(:,2)=x(:).^2;三维曲线图%绘制三维曲线图figure(3)ezplot3('sin(t)','cos(t)','t',[0,6*pi])12.三维图形控制视点View图形旋转subplot(121)surf(peaks);title('旋转前图形');subplot(122)h=surf(peaks);rotate(h,[1 0 1],180)title('旋转后图形');灯光效果%灯光效果(1)camlight(2)light(3)lightangle(4)lighting(5)materialsphere;camlight色彩控制%色彩控制(1)缺省设置colordef、whitebg(2)色图colormap(3)浓淡处理shadingload flujetimage(X)colormap(jet)subplot(131)sphere(16)axis squareshading flattitle('Flat Shading')subplot(132)sphere(16)axis squareshading facetedtitle('Faceted Shading') subplot(133)sphere(16)axis squareshading interptitle('Interpolated Shading')。
MATLAB绘图的指令
绘图的指令1、plot函数MATLAB中最常用的绘图函数是plot( )。
其基本调用格式为:plot(x, y ),其中x, y均为向量,该函数表示以x向量作为X轴,以y向量作为Y轴。
示例3:绘制从0 ~ 4范围的正弦函数曲线。
t = 0 : pi/20 : 4*pi;y = sin(t);plot(t, y);2、stem函数对于离散序列,MATLAB用stem( )命令实现其绘制。
示例4:绘制从0 ~ 4范围的正弦函数序列。
t = 0 : pi/10 : 4*pi;y = sin(t);stem(t, y);3、subplot函数如果要在一个绘图窗口中显示多个图形,可用subplot函数实现。
其基本调用格式为:subplot(m, n, k) 或subplot(m n k),其中m, n, k取值为1 ~ 9。
该函数表示将绘图窗口划分为m×n个子窗口(子图),并在第k个子窗口中绘图。
示例5:在一个绘图窗口中绘制下列函数的图形。
t = 0 : 0.1 : 2;y1 = 2*exp(-3*t); % (a) 指数函数figure;subplot(221);plot(t,y1);xlabel('(a)');y2 = 2*t.*exp(-3*t); % (b) t乘指数函数subplot(222);plot(t,y2);xlabel('(b)');t1 = -4 : 0.1 : 4;y3 = 1/(2^0.5)*exp(-0.5*t1.^2); % (c) 正态分布函数subplot(223);plot(t1,y3);xlabel('(c)');t2 = -5 : 0.1 : 5;y4 = sinc(t2); % (d) 取样函数subplot(224);plot(t2,y4);xlabel('(d)');ylabel('sinc(t)');axis([-5 5 -0.25 1.1])grid on二维图形的修饰1、坐标轴名称标识函数xlabel、ylabel、title绘制 的nyquist 图和bode 图102.110)(2++=s s s G解MATLAB编程如下:»num=[10];»den=[1,1.2,10];»w=logspace(-2,2,1000); » nyquist(num,den,w)»grid»bode(num,den,w)»grid极小化»fx='10*exp(-x)*cos(x)';»fplot(fx,[2,5])»xmin=fmin(fx,2,5)xmin =2.35619746669214求零点»xzero=fzero(fx,5)xzero =4.71238898038469»xzero=fzero(fx,2)xzero =1.57079632679490曲线拟合»x=0:0.1:1;»y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];»p=polyfit(x,y,2);»xi=0:0.01:1;»yi=polyval(p,xi);»plot(x,y,xi,yi) 三维图形»x=-4:0.1:4;»y=x;»[x,y]=meshgrid(x,y);»z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...- 1/3*exp(-(x+1).^2 - y.^2);»mesh(x,y,z)二维图形»x=0:0.01:pi*3;»y=sin(x);»plot(x,y)»title('First Figure Example')»xlabel('Time(s)')»ylabel('Value(v)')»grid on»gtext(‘sinx’)»legend(‘sinx’)管理命令和函数help 在线帮助文件doc 装入超文本说明what M、MA T、MEX文件的目录列表 type 列出M文件lookfor 通过help条目搜索关键字which 定位函数和文件Demo 运行演示程序Path 控制MATLAB的搜索路径管理变量和工作空间Who 列出当前变量Whos 列出当前变量(长表) Load 从磁盘文件中恢复变量 Save 保存工作空间变量Clear 从内存中清除变量和函数Pack 整理工作空间内存Size 矩阵的尺寸Length 向量的长度disp 显示矩阵或与文件和*作系统有关的命令cd 改变当前工作目录Dir 目录列表Delete 删除文件Getenv 获取环境变量值! 执行DOS*作系统命令Unix 执行UNIX*作系统命令并返回结果Diary 保存MA TLAB任务控制命令窗口Cedit 设置命令行编辑 Clc 清命令窗口Home 光标置左上角Format 设置输出格式Echo 底稿文件内使用的回显命令more 在命令窗口中控制分页输出启动和退出MA TLABQuit 退出MATLABStartup 引用MA TLAB时所执行的M文件Matlabrc 主启动M文件*作符和特殊字符+ 加—减* 矩阵乘法.* 数组乘法^ 矩阵幂.^ 数组幂\ 左除或反斜杠/ 右除或斜杠./ 数组除Kron Kronecker张量积: 冒号( ) 圆括号[ ] 方括号. 小数点.. 父目录…继续, 逗号; 分号% 注释! 感叹号‘转置或引用= 赋值= = 相等< > 关系*作符& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或逻辑函数Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真All 向量的所有元为真,则其值为真Find 找出非零元素的索引号三角函数Sin 正弦Sinh 双曲正弦Asin 反正弦Asinh 反双曲正弦Cos 余弦Cosh 双曲余弦Acos 反余弦Acosh 反双曲余弦Tan 正切Tanh 双曲正切Atan 反正切Atan2 四象限反正切Atanh 反双曲正切Sec 正割Sech 双曲正割Asech 反双曲正割Csc 余割Csch 双曲余割Acsc 反余割Acsch 反双曲余割Cot 余切Coth 双曲余切Acot 反余切Acoth 反双曲余切指数函数Exp 指数Log 自然对数Log10 常用对数Sqrt 平方根复数函数Abs 绝对值Argle 相角Conj 复共轭Image 复数虚部Real 复数实部特殊变量和常数Ans 当前的答案Eps 相对浮点精度Realmax 最大浮点数Realmin 最小浮点数Pi 圆周率I,j 虚数单位Inf 无穷大Nan 非数值Flops 浮点运算次数Nargin 函数输入变量数Nargout 函数输出变量数基本X—Y图形Plot 线性图形Loglog 对数坐标图形Semilogx半对数坐标图形(X轴为对数坐标) Semilogy 半对数坐标图形(Y轴为对数坐标) Fill 绘制二维多边形填充图特殊X—Y图形Polar 极坐标图Bar 条形图Stem 离散序列图或杆图Stairs 阶梯图Errorbar 误差条图Hist 直方图Rose 角度直方图Compass 区域图Feather 箭头图Fplot 绘图函数Comet 星点图图形注释Title 图形标题Xlabel X轴标记Ylabel Y轴标记Text 文本注释Gtext 用鼠标放置文本Grid 网格线MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
第4章 MATLAB 绘图
4.图例标注
菜单Insert---legend 命令legend('string1','string2',...)
4.1.6 一个图形窗口多个子图的绘制
subplot(m,n,i)把图形窗口分为m*n个子图,并在第i个子图 中画图 例 4-11 在同一坐标系中画出两个函数,y=cos2x,y=sinxsin6x 的图形,自变量的范围为0≤ x ≤π,函数y=cos2x用红色星号,函数 y=sinxsin6x用蓝色实线,并加图名、坐标轴、图形、图例标注 解 MATLAB命令为: x=0:pi/50:pi; y1=cos(2*x);y2=sin(x).*sin(6*x); plot(x,y1,'r*',x,y2,'b-'),grid on title(‘曲线y1=cos(2x)曲线y2=sin(x)sin(6x)') xlabel('x轴'),ylabel('y轴') gtext('y1=cos(2x)'),gtext('y2=sin(x)sin(6x)') legend('y1=cos(2x)','y2=sin(x)sin(6x)')
group 8 6 4 2 0 10 30 20
stack
1
2
3
4 stack
5
6
0
1
2
3
4 stack
5
6
8 6 5 4 3 2 1 0 10 20 30 6 4 2 0
其它特殊绘图略(见教科书 )
1
2
3
4
5
6
4.3 三维曲线绘图
实验三 MATLAB的绘图功能
(1)利用民生银行股票价格数据画出股价(收盘价)波动图,并在同一张图中画出5日均线图。
答:先将数据导入matlab工作区,再直接在图窗口编辑
接下来画五日均线图,思路:先在民生银行(表格)计算出五日均线数据,将其数据写入表格的一列,再将(五日均线数据)和日期数据复制到另一表格中,将此表格数据导入变量,作图,再编辑图例
(3)查看运行结果:
(4)如果要将所得图形插入到word文档中,应如何操作?
在figure窗口中选择编辑,选择“复制图窗”,随后黏贴到word文档中
3、绘制三维螺旋线: 要求给相应的坐标轴和标题附加标注,螺线为蓝色虚线,线条粗细设置为3。
(1)生成三维螺旋线的程序:
t=0:pi/10:10*pi;
x=2*(cos(t)+t.*sin(t));
资金流向饼图:
x=[4619.0111 3965.2678 8239.9428 8293.4513 10272.8647 10920.2478 5173.3858 5126.2376];
subplot(2,2,2),mesh(X,Y,Z);title('网格图');
subplot(2,2,3),surf(X,Y,Z);title('光滑曲面图');shading interp;
(3)绘制镂空图。将 的数据点的z坐标取值设置为“nan”。
程序:
i=find(Z<-0.1);
Z(i)=nan;
surf(x1,y1,z1);
shading interp;colormap(summer)
axis off
6、播放一个直径不断变化的球体。
要求:
(1)球体为光滑曲面,颜色为光谱交错色。
matlab绘图知识点总结
matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。
其基本语法为:plot(x, y)。
其中x是横轴坐标数据,y是纵轴坐标数据。
通过plot函数可以绘制折线图、散点图等。
2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。
其中x是条形的横轴坐标位置,y是条形的高度。
3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。
其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。
4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。
其中x是待绘制的数据,bins则是用来指定直方图的条形数目。
5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。
其中x和y分别是散点的横轴和纵轴坐标数据。
6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。
其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。
二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。
2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。
3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。
4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。
5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。
三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• axis:在axis on与axis off之间进行切换 • axis on: 恢复消隐的坐标轴 • axis off: 使坐标轴消隐 • axis ij: 坐标原点设置在图形窗口的左上角,坐标
8
•linห้องสมุดไป่ตู้width: 指定线条的宽度, 取值为整数(单位 为像素点)
(5) plot(x1,y1,’s1’,x2,y2,’s2’,…):在同一图形窗口中 画出多条带属性设置的折线.
例 演示带有显示属性的正余弦函数图形
x=0:0.1*pi:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'--k',x,y2,'-.rd') grid on
• Figure命令可以自己创建图形窗口
• 其调用格式为
figure
figure(n)
演示: x=0:2*pi/50:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1)
figure
plot(x,y2)
grid on
11
(2) grid:控制分隔线 • grid: 在grid on与grid off之间进行切换 • grid on: 在图中使用分割线 • grid off: 在图中不使用分割线
9
1.2 对数图形函数
•loglog:绘制双轴对数图形 •semilogx:绘制单轴对数图形,横轴采用对数 坐标,纵轴采用线性坐标 •semilogy:绘制单轴对数图形,横轴采用线性 坐标,纵轴采用对数坐标 •以上三个函数调用方法同plot
例 绘制函数 y ex 的轴对数图形
x=1:10; y=exp(x); loglog(x,y) grid on
轴i垂直向下,j水平向右 • axis xy: 设定为笛卡尔坐标系 • axis equal: 使坐标轴在三个方向上刻度增量相同 • axis square: 使坐标轴在三个方向上长度相同 • axis tight: 将数据范围设置为刻度
14
• axis normal: 默认的矩阵坐标系 • axis image: 等长刻度,坐标框紧贴数据范围 • axis fill: 使坐标充满整个绘图区
五、图形绘制
MATLAB 提供了强大的图形处理 功能,可以绘制二维图形、三维图形、 甚至四维表现图
1
1. 二维图形
1.1 plot是Matlab中最简单最常用的二维图形绘制命令, 其调用格式有 (1) plot(y): 画一条或多条折线图,其中y是数值向量或
数值矩阵. • 若y是实数向量,Matlab会以y向量元素的下标为
15
(5) title:图名标注 • title(‘String’): 在图形的顶端加注文字作为图名 • title(‘String’, ‘PropertyName’, Propertyvalue,…):在 图形的顶端加注带属性的文字作为图名
(6) 坐标轴标注 • xlabel(‘String’), ylabel(‘String’), zlabel(‘String’) :在 当前图形的x轴、y轴、z轴旁边加入文字内容 • xlabel(‘String’, ‘PropertyName’, Propertyvalue,…) • ylabel(‘String’, ‘PropertyName’, Propertyvalue,…) • zlabel(‘String’, ‘PropertyName’, Propertyvalue,…): 在当前图形的x轴、y轴、z轴旁边加入带属性的 文字内容
19
1.4 一个图形窗口多个子图的绘制
subplot命令将窗口分为几个区域,再在每个小区 域中画图形,调用格式如下:
•subplot(m,n,i):把图形窗口分为m×n个子图, 并在第i个子图中画图 •subplot(m,n,i,’replace’) :若在绘制图形的时候 已经定义了坐标轴,该命令将删除原来的坐标 轴,并创建一个新的坐标轴系统 •subplot(’position’,[left bottom width height]) : 在指定位置[left bottom width height]创建新的坐 标系,并且各个参数在0到1之间取值
(3) hold:图形的重叠绘制 • hold: 在hold on与hold off之间进行切换 • hold on: 保留当前图形和它的轴,使此后图形 叠放在当前图形上 • hold off: 返回MATLAB的默认状态,从后图形指 令运作将抹掉当前窗口中的旧图形,然后画上新 图形
12
例 利用hold命令,在同一坐标系中画出以下两条 曲线
例 在同一窗口中绘制以下三个函数的图形
y 2x, y cos x, y sin x 其中自变量范围为 3 x 3
x=-3:0.1:3; y1=2*x;y2=cos(x);y3=sin(x); plot(x,y1,x,y2,x,y3) grid on
x=-3:0.1:3; y=[2*x;cos(x);sin(x)]; plot(x,y) grid on
•对于显函数y=f(x), ezplot函数的调用格式为 ezplot(f, [xmin xmax])
•对于隐函数f(x,y)=0, ezplot函数的调用格式为 ezplot(f, [xmin xmax] , [ymin ymax])
21
1.5 自适应绘图fplot
fplot函数特点:绘图的数据点是自适应产生的. –在函数平坦处,所取数据点比较稀疏;在函 数变化剧烈处,将自动取较密的数据点
调用格式
fplot(fun,limits,tol,linespec) • fun:函数名,可以是MATLAB已有函数、自定 义的M函数或字符串定义的函数 •limits: 表示绘制图形的坐标轴取值范围,有两 种方式:[xmin xmax]和[xmin xmax ymin ymax] •tol:相对误差,默认值为2e-3 •linespec:表示图形的线型、颜色和数据点等设 置
22
例 分别利用命令plot和fplot绘制曲线y=cos(1/x) 在区间[-1, 1]的图像,并作比较
close all; x=-1:0.1:1; y=cos(1./x); plot(x,y);
figure fplot('cos(1./x)',[-1, 1]);
23
1.6 隐函数作图ezplot ezplot可用于显函数、隐函数和参数方程作图
17
(8) legend:图例标注 • legend(‘String1’, ‘String2’, ‘String3’,…): 当在一幅图 中出现多条曲线时,结合在绘制时的不同线性与 颜色等属性,加以说明文字
18
例 在同一坐标系中画出两个函数y=cos2x, y=sin x
sin6 x的图形,自变量范围为0≤ x ≤ ,函数y=cos2x
5
例 在同一窗口中绘制以下两条曲线的图形
y sin(x 3), y esin x
x=-2*pi:pi/50:2*pi; y=[sin(x+3); exp(sin(x))]; plot(x,y) grid on
6
(3) plot(x1,y1,x2,y2,x3,y3, …): 在同一图形窗口中 画出多条折线.
3
(2) plot(x,y): 画一条或多条折线图,其中x和y是向量或 矩阵. • 若x和y都是实数向量,Matlab会以x为横坐标,y 为纵坐标绘制折线,x和y必须维数相同 • 若x和y都是m×n矩阵,在同一图形窗口中绘制n 条不同颜色的折线,每列的画法同第一种情况 • 若x是向量,y是矩阵,并且向量的维数等于矩阵 的行数(或列数),则以x为横坐标,分别以y的 每列(或每行)为纵坐标绘制多条折线 • 若x是矩阵,y是向量,则类似于第三种情况 • 上述几种情况中,若出现复数,则不考虑复数的 虚数部分
16
(7) text:图形标注 • text(x,y,‘String’): 适用于二维图形,在点(x,y)上加 注文字String • text(x,y,z,‘String’): 适用于三维图形,在点(x,y,z)上 加注文字String • text(x,y,z,‘String’ , ‘PropertyName’, Propertyvalue,…): 在指定位置加注带属性的文字String • gtext( ‘String’): 在鼠标指定位置加注文字String • 使用gtext命令后,会在当前图形上出现一个 十字叉,等待用户选定位置进行标注. 移动鼠 标到所需位置按下鼠标左键,MATLAB就在选 定位置标上文字
4
例 在区间 [ , ] 上,绘制函数y=sinx图形
x=-pi:pi/50:pi;
y=sin(x);
plot(x,y)
grid on
例 画出椭圆 x2 y2 1 的曲线图 25 81
t=0:pi/50:2*pi;
x=5*cos(t);
y=9*sin(t);
plot(x,y)
grid on
20
例 演示subplot命令对图形窗口的分割
x=-2:0.2:2; y1=x+sin(x);y2=sin(x)./x;y3=x.^2; subplot(2,2,1); plot(x,y1,'m.'); grid on; title('y=x+sinx'); subplot(2,2,2); plot(x,y1,'rp'); grid on; title('y=sinx/x'); subplot('position',[0.2,0.05,0.6,0.45]); plot(x,y3); grid on; text(0.3,2.3,'y=x^2');