Matlab绘图函数汇总.docx
- 文档编号:3600944
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:18
- 大小:24.51KB
Matlab绘图函数汇总.docx
《Matlab绘图函数汇总.docx》由会员分享,可在线阅读,更多相关《Matlab绘图函数汇总.docx(18页珍藏版)》请在冰豆网上搜索。
Matlab绘图函数汇总
二维图形绘制相关函数
plot函数
功能介绍:
常用二维绘图函数
语法说明:
✧plot(x,y):
以x为横坐标,y为纵坐标,按照坐标(xi,yj)的有序排列绘制曲线。
✧plot(y):
y为一维实数数组,以1:
n为横坐标,y为纵坐标,绘制曲线。
✧plot(z):
z为一维复数数组,横轴是实部,纵轴是虚部,在复平面绘制(real,imag)的有序集合的图形。
✧plot(A):
绘制矩阵A的列对它的下标的图形。
对于m*n的矩阵A,有n个含有m元素的数组,或者是n条有m个点的曲线。
✧plot(x,A):
绘制矩阵A对向量x的图形。
对于m*n的矩阵A和长度是m的向量x,绘制矩阵A的列对向量x的图形;如果x的长度是n,则绘制矩阵A的行对向量x的图形。
(x为横坐标)
✧plot(A,x):
对矩阵A绘制向量x的图形。
对于一个m*n的矩阵A和一个长度为m的向量x,对矩阵A的列绘制向量x的图形;如果x的长度是n,则对矩阵A的行绘制向量x的图形。
(A的各列是横坐标)
✧plot(A,B):
对矩阵A的行绘制矩阵B的列的图形。
如果A和B都是m*n的矩阵,则绘制n条由m个有序对连成的曲线。
✧plot(x,y,str):
用字符串str指定颜色和线型对y绘制x的图形。
✧plot(x1,y1,str1,x2,y2,str2,…)
实例:
>>X=-10:
10;
>>Y=X.^2;
>>figure
(1);
>>subplot(1,3,1);plot(X,Y,'LineWidth',2);
>>subplot(1,3,2);plot(Y,'LineWidth',2);xlim([1length(Y)]);
>>Z=cos(-pi:
pi/10:
pi)+sqrt(-1)*sin(-pi:
pi/10:
pi);
>>subplot(1,3,3);plot(Z,'LineWidth',2);
>>A=magic(20);
>>figure;plot(A);
>>x=-pi:
pi/10:
pi;
>>y=tan(sin(x))-sin(tan(x));
>>plot(x,y,'--rs','Linewidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
ginput函数
功能介绍:
获取图形上坐标
语法说明:
[x,y]=ginput(n):
用鼠标从二维图形中获得n个点的数据坐标(x,y)
plotyy函数
功能介绍:
双坐标绘制
语法说明:
✧plotyy(X1,Y1,X2,Y2):
以左、右不同的纵轴非别绘制X1-Y1和X2-Y2两个条曲线
✧plotyy(X1,Y1,X2,Y2,Fun):
以左、右不同的纵轴以Fun指定的形式分绘制X1-Y1和X2-Y2两条曲线
✧plotyy(X1,Y1,X2,Y2,Fun1,Fun2):
以左、右不同的纵轴分别以Fun1,和Fun2指定的形式绘制X1-Y1和X2-Y2两条曲线
实例
>>figure
>>ang1=0:
0.01*pi:
2*pi;
>>amp1=sin(0:
0.01*pi:
2*pi);
>>z=amp1.*(cos(ang1)+sqrt(-1)*sin(ang1));
>>[AX,H1,H2]=plotyy(0:
200,abs(z),0:
200,angle(z)*180/pi);
>>set(get(AX
(2),'Ylabel'),'String','amplitude');
>>set(get(AX
(1),'Ylabel'),'String','amplitude');
>>set(get(AX
(2),'Ylabel'),'String','phase');
>>set(H1,'LineWidth',3);
>>set(H2,'LineStyle',':
','LineWidth',3);
fplot函数
功能介绍:
函数f(x)曲线
语法说明:
✧fplot(‘function’,limits):
在指定的范围limits内画出函数名为function的一元函数图形。
其中limits是一个指定x轴范围的向量[xminxmax]或者x轴和y轴的范围向量[xminxmaxyminymax]
✧fplot(‘function’,limits,LineSpec):
在指定的线型LineSpec画出函数function
✧fplot(‘function’,limits,tol):
用相对误差值tol画出函数function相对误差的默认值是2e-3
✧fplot(‘function’limits,n):
当n>=1,则至划出n+1个点(即至少把范围limits分成n个小区间),最大补偿不超过(xmax-xmin)/n
✧fplot(‘function’,limits,…):
允许可选参数tol,n和LineSpec以任意组合方式输入
✧[X,Y]=fplot(‘function’,limits,…):
返回横坐标与纵坐标的值给变量X和Y,此时fplot不画出图形,plot(X,Y)可会出图形
实例
编辑m文件:
functionF=function0(x)
F=sin(1./tan(x*10));
函数fplot测试:
[X,Y]=fplot('function0',[-0.20.2],1e-4);
Len=size(X);
M=-0.2:
0.4/(Len
(1)+1):
0.2;
N=function0(M);
figure;plot(M,N,'LineWidth',2);
fplot('[tan(x),sin(x),cos(x)]',2*pi*[-11-11])
ezplot函数
功能介绍:
绘制隐函数图形
语法说明:
✧对于函数f=f(x)
ezplot(f):
在默认区间-2*pi-2*p绘制f=f(x)的图形
ezplot(f,[a,b]):
在区间a-b绘制f=f(x)的图形
✧对于f=f(x,y)
ezplot(f):
默认-2*pi-2*pi和-2*pi-2*pi绘制f(x,y)=0
ezplot(f,[xmin,xmax,ymin,ymax])
✧对于参数x=x(t),y=y(t)
ezplot(x,y):
在默认区间0-2*pi绘制x=x(t),y=y(t)
ezplot(x,y,[tmin,tmax])
实例
subplot(2,2,1);
ezplot('x^2+y^2-9');
axisequal;
subplot(2,2,2);
ezplot('x^3+y^3-5*x*y+1/5');
subplot(2,2,3);
ezplot('cos(tan(pi*x))',[0,1]);
subplot(2,2,4);
ezplot('8*cos(t)','4*sqrt
(2)*sin(t)',[0,2*pi]);
loglog函数
功能介绍:
双对数坐标图形绘制
语法说明:
✧loglog(Y):
若Y为实数向量或者矩阵,则结合Y列向量的下标和Y列向量绘图。
若Y为复数,则绘制loglot(real(Y),imag(Y))
✧loglog(X1,Y1,X2,Y2):
结合Xn与Yn会出图形
✧loglog(X1,Y1,LineSpec,X2,Y2,LineSpec2,…):
✧h=loglog(…):
返回line图形句柄向量
实例
x=logspace(-1,2);
loglog(x,10*exp(x),'-s');
gridon
semilogx函数
功能介绍:
单对数坐标
语法说明:
类似loglog用法
实例
semilogy函数
功能介绍:
单对数坐标
语法说明:
类似loglog用法
实例
polar函数
功能介绍:
极坐标图形绘制
语法说明:
✧polar(theta,rho):
用级角theta和级径rho画出极坐标图形
✧polar(theta,rho,LineSpec):
参量LineSpec指定极坐标图中线条属性
实例
theta=[0:
0.01:
2*pi];
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho);
title('polarplot');
bar函数
功能介绍:
二维垂直条形图
语法说明:
✧bar(Y):
若Y为向量,则分别显示每个分量的高度,纵坐标从1到length(Y);若Y为矩阵,则bar把Y分解成行向量,在分别画出,纵坐标从1到size(y,1)即矩阵的行数
✧bar(x,Y):
在指定的纵坐标x上水平方向画出Y,其中x为严格单增的向量。
若Y为矩阵,则bar把矩阵分解成几个行向量,在指定的纵坐标处分别画出(类似bar(Y))
✧bar(…,width):
设置条形的相对宽度和控制在一组内条形的间距。
默认值为0.8
✧bar(…,’style’):
指定条形的排列类型。
类型有group和stack,其中group是默认显示模式。
group:
若y为n*m矩阵,则bar显示n组,魅族有m个水平条形的条形图。
stack:
对矩阵y的每一个行向量显示在一个条形中。
✧[xb,yb]=bar(…):
返回可用函数plot或者patch画出条形图的xb,yb。
实例:
>>x=-2.9:
0.2:
2.9;
>>bar(x,exp(x.*sin(x)));
>>x=1:
1:
6
>>Y=magic(6);
>>bar(x,Y)
>>bar(x,Y,'stack')
barh函数
功能介绍:
二维水平条形图
语法说明:
✧h=barh(…):
返回patch图像对象句柄的向量,每一条形对应一个句柄
✧其余用法类似barh
实例:
stairs函数
功能介绍:
阶梯图形
语法说明:
✧stairs(x,y):
x,y分别为横坐标向和纵坐标向量
实例:
x=[-2.5:
0.25:
2.5];
y=exp(-x.*x);
stairs(x,y);
title('stairsplot')
fill函数
功能介绍:
填充图形
语法说明:
✧fill(X,Y,C):
用X和Y中的数据生成多边形,用C指定的颜色填充。
其中C为色图向量或者矩阵。
若C为行向量,则要求C的维数等于X和Y的列数;若C为列向量,则要求C的维数等于X和Y的行数。
✧fill(X,Y,ColorSpec):
用ColorSpec指定的颜色填充
✧fill(X1,Y1,C1,X2,Y2,C2,…):
指定多个要填充的二维区域
✧h=fill(…):
返回patch图形对象句柄的向量,每一个patch对象对应一个句柄
实例:
t=(1/16:
1/8:
1)'*2*pi;
x=exp(t).*sin(t);
y=t.*cos(t);
fill(x,y,'r')
compass函数
功能介绍:
从原点画箭头图
语法说明:
✧compass(X,Y):
参量X与Y为同型的n维向量,则函数显示n个箭头,箭头的起点是原点,箭头的位置为[X(i),Y(i)]
✧compass(Z):
参量Z为n维复数向量
✧compass(…,LineSpec):
用参量LineSpec指定箭头的线型等
✧h=compass(…):
返回line对象的句柄给h
实例:
X=randn(10,1);
Y=rand(10,1);
compass(X,Y);
comet函数
功能介绍:
二维彗星图
语法说明:
✧comet(y):
彗星图动画显示向量确定的路线
✧comet(x,y):
彗星图动画显示向量x与y确定的路线
✧comet(x,y,p):
指定彗星体的长度p*length(y),默认p值为0.1
实例:
t=0:
0.01:
2*pi;
x=exp(sin(2*pi)).*(cos(t).^2/3);
y=t.*(sin(t).^2);
comet(x,y)
feather函数
功能介绍:
速度向量图
语法说明:
✧feather(u,v):
显示由参量向量u与v确定的向量,其中u包括作为相对坐标系中的x成分,v包含作为相对坐标系中的y成分
✧feather(z):
显示复数参量向量z确定的向量
✧feather(…,LineSpec):
参量Spec指定线型等信息
实例:
th=(-90:
10:
90)*pi/180;
r=4*ones(size(th));
[u,v]=pol2cart(th,r);
feather(u,v)
hist函数
功能介绍:
二维条形直方图
语法说明:
✧n=hist(y):
把向量y中的元素放入等距的10个条形中,且返回一个条形中的元素个数。
若y为矩阵,则该函数按列对y进行处理
✧n=hist(y,x):
参量x为向量,把y中的元素放到m(m=length(x))个由x中元素指定的位置为中心的条形中
✧n=hist(y,nbins):
参量nbins为标量,用于指定条形的数量
✧[n,xtou]=hist(…):
返回向量n与包含频率计数与条形的位置向量xout,用户可以用函数bar(xout,n)画出条形直方图
实例:
x=-5:
0.1:
5;
y=randn(1000,1);
hist(y,x)
scatter函数
功能介绍:
散点图
语法说明:
✧scatter(x,y):
以x,y的值为横纵坐标绘制散点
实例:
x=[156795131220];
y=[201563153015];
scatter(x,y);
stem函数
功能介绍:
二维离散数据图
语法说明:
✧stem(y):
按y元素的数学画出柄形图,在x轴上,柄与柄之间的距离相同;若y为矩阵,则把y分成几个行向量,在同意横坐标的位置画出一个行向量的柄图
✧stem(x,y):
在横坐标x上画出列向量y的柄形图
✧stem(…,’fill’):
指定是否对柄形图末端的小圆圈填充颜色
✧h=stem(…):
返回柄形图的line图形对象句柄向量
实例:
x=linspace(0,2,10);
stem(exp(-x.^2),'fill','-.');
stem3函数
功能介绍:
三维离散数据图
语法说明:
✧stem3(x,y,z):
类似stem
实例:
[x,y,z]=peaks(20);
stem3(x,y,z,'r*')
pie函数
功能介绍:
饼图
语法说明:
✧pie(x):
用x中的数据画一饼形图,x中的每一个元素代表饼形图中的一个部分
✧pie(x,explode):
从饼形图中分离出一部分,explode为元素为0或者非0、与x相对应的向量或矩阵。
与explode的非零值对应的部分将从饼形图中分离出来,explode必须和x同型
✧h=pie(…):
返回一patch和text的图形对象句柄向量h
实例:
x=[130.52.52];
explode=[01000];
pie(x,explode)
三维图形绘制相关函数
plot3函数
功能介绍:
三维曲线绘制
语法说明:
✧plot3(x,y,z):
当x,y,z是同维向量时,绘制一条三维曲线;当x,y,z是同维矩阵是,则以x,y,z对应列向量绘制三维曲线,曲线条数等于矩阵列数
✧plot(x,y,z,选项):
通过选项对曲线进行设置
实例:
clearall;
t=0:
pi/100:
20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Linein3-DSpace');
xlabel('x');ylabel('y');zlabel('z');
gridon
meshgrid函数
功能介绍:
数据点生成矩阵
语法说明:
✧[X,Y]=meshgrid(x,y):
输入向量x为x-y平面上的矩形定义域的矩形分割线在x轴上的值,向量y为x-y平面上的矩形定义域的矩形分割线在y轴上的值。
输出X为x-y平面上矩形定义域的矩形分割点的横坐标值矩阵,输出Y为x-y平面上矩形定义域的矩形分割点的纵坐标值矩阵。
输出X,Y作为各种三维图形绘制函数的输入。
✧[X,Y]=meshgrid(x):
等价于形式[X,Y]=meshgrid(x,x)
✧[X,Y,Z]=meshgrid(x,y,z):
输入向量x为立方体定义域的立方体分割平面在x轴上的值,输入向量y为立方体定义域的立方体分割平面在y轴上的值,输入向量z为立方体定义域的立方体分割平面在z轴上的值。
输出X为立方体定义域中分割点的x轴坐标值,Y为立方体定义域中分割点的y轴坐标值,Z为立方体定义域中分割点的z轴坐标值
实例:
mesh函数
功能介绍:
网格图绘制
语法说明:
✧mesh(X,Y,X):
以X为x轴自变量、Y为y轴自变量,绘制网格图;X、Y可以是向量,若X、Y的长度分别为m、n,则Z为m*n的矩阵。
X、Y可以是meshgrid形成的网格点矩阵,都是m*n的。
✧mesh(Z):
以Z矩阵列下标为x轴自变量、行下标为y自变量,绘制网格图
✧mesh(X,Y,Z,C):
同mesh(X,Y,X),C表示颜色随着Z值的变化而变化
✧mesh(X,Y,Z,’PropertyName’,PropertyValue,…):
用来定义网格图的标记等属性
实例:
X=-10:
0.1:
10;Y=-10:
0.1:
10;
[X,Y]=meshgrid(X,Y);
Z=-X.^2-Y.^2+200;
mesh(X,Y,Z)
surf函数
功能介绍:
曲面图的绘制(与mesh的区别:
在mesh的基础上将网格填充上颜色)
语法说明:
✧surf(X,Y,Z)
✧surf(Z)
✧surf(X,Y,Z,C)
✧surf(X,Y,Z,’PropertyName’,PropertyValue,…)
实例:
X=-10:
0.1:
10;Y=-10:
0.1:
10;
[X,Y]=meshgrid(X,Y);
Z=-X.^2-Y.^2+200;
surf(X,Y,Z)
surfc函数
功能介绍:
曲面图绘制及等高线
语法说明:
类似surfc函数
实例:
[X,Y,Z]=peaks(30);
surfc(X,Y,Z)
surfl函数
功能介绍:
带光照模式的曲面图
语法说明:
✧surf(Z):
以向量Z的元素生成一个三维的带阴影的曲面,其中因应模式中的光源方位、光照系数都是默认值
✧surf(X,Y,Z):
以矩阵X,Y,Z生成一个三维的带阴影的曲面,其中阴影模式中的光源的方位、光照系数为默认值
✧surfl(…,’light’):
用一个matlab光照对象生成一个带颜色、带光照的曲面
✧surfl(…,’cdata’):
改变曲面颜色数据,使曲面生成一个可反光的曲面
✧surfl(…,s):
指定光源与曲面之间的方位s,其中s为一个二维的向量[azimuth,elevation],或者三维向量[sx,sy,sz]
✧surfl(X,Y,Z,s,k):
指定反射常系数k,其中k为一个定义环境光系数、漫反射系数、镜面反射系数、与镜面反射亮度等的思维向量[ka,kd,ks,shine]默认为[0.550.60.410]
✧h=surfl(…):
返回一个曲面图形句柄向量h
实例
[X,Y]=meshgrid(-3:
1/8:
3);
Z=peaks(X,Y);
surfl(X,Y,Z)
shadinginterp
colormap(gray)
contour3函数
功能介绍:
三维等高线绘制
语法说明:
✧contour3(Z):
画出三维空间角度观看矩阵Z的等高线图,其中Z的元素被认为是距离x-y平面的高度,矩阵Z至少是2*2阶的
✧contour3(Z,n):
画出矩阵Z确定的n条等高线的三维图
✧contour3(Z,v):
在参量v指定的高度上画出三维等高线,当然等高线条数与向量v的维数相同
✧contour3(X,Y,Z)、contour3(X,Y,n)、contour3(X,Y,v):
用X与Y定义x轴与y轴的范围。
若X为矩阵,则X(1,:
)定义x轴的范围;若Y为矩阵,则Y(:
1)定义y轴的范围;若X,Y都是矩阵,则它们必须同型。
不论哪种形式,所起的作用月函数surf相同
✧contour3(…,LineSpec):
指定线型与颜色等
✧[C,h]=contour3(…):
画出图形,同时返回与函数contourc中相通的等高线矩阵C,包含所有图像对象的句柄向量h
实例:
[X,Y]=meshgrid([-4:
0.2:
4]);
Z=X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)
contour函数
功能介绍:
曲面的等高线
语法说明:
✧contour(z):
把矩阵z中的值作为一个二维函数的值,等高曲线是一个平面的曲线,平面的高度v是Matlab自动取的
✧contour(x,y,z):
(x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵。
效果同上
✧contour(z,n):
画出n条等高线
✧contour(x,y,z,n):
✧contour(z,v):
✧contour(x,y,z,v):
实例:
contour(peaks(40))
clabel函数
功能介绍:
等高线添加标签
语法说明:
✧clabel(C,h):
把标签旋转到恰当角度,再插入到等高线中。
只有等高线之间的有足够的空间时才加入,当然这决定等高线的尺度
✧clabel(C,h,v):
在制定的高度v上显示标签h,并对标签做恰当的处理
✧clabel(C,h,’manual’):
手动设置标签(通过鼠标,回车键结束该操作)
✧clabel(C):
在从函数contour生成的等高线结构C的位置添加标签
✧clabel(C,v):
在给定的位置v上显示标签
✧clabel(C,’manual’):
允许用户通过鼠标来给等高线贴标签
实例:
[x,y]=meshgrid(-3:
0.2:
3);
z=x.*y.*exp(-x.^2-y.^2);
[C,h]=contour(x,y,z);
clabel(C,h)
contourc函数
功能介绍:
等高线图形计算
语法说明:
✧C=contourc(Z):
从矩阵Z中计算等高矩阵,其中Z的维数至少为2*2阶,等高线为矩阵的Z中数值相等的单元。
等高线数目和相应的高度值是自动选择的。
✧C=contourc(Z,n)
✧C=contourc(Z,v)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 绘图 函数 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)