MA TLAB 绘图
一、二维绘图
(一)plot
Plot功能:
✹plot命令自动打开一个图形窗口Figure
✹用直线连接相邻两数据点来绘制图形
✹根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示
✹如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形
✹可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图
✹可任意设定曲线颜和线型
✹可给图形加坐标网线和图形加注功能
plot调用格式:
✹plot(x) ——缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图
✹plot(x,y) ——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线
✹plot(x1,y1,x2,y2) ——多条曲线绘图格式
✹plot(x,y,’s’) ——开关格式,开关量字符串s设定曲线颜和绘图方式,使用颜字符串的前1~3个字母,如yellow—yel表示等。或plot(x1,y1,’s1’,x2,y2,’s2’,…)
S的标准设定值如下:
字母颜标点线型
y 黄·点线
m 粉红○圈线
c 亮蓝××线
r 大红++字线
g 绿-实线
b 蓝 星形线
w 白:虚线
k 黑-·(--) 点划线
1、单窗口单曲线绘图
例1:x=[0, 0.48,0.84,1,0.91,0.6,0.14]
plot (x)
2、单窗口多曲线绘图
例2:t=0:pi/100:2*pi;
y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);
plot(t,y,t,y1,t,y2)
例3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);
y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);
plot(t,[y',y1',y2',y3',y4',y5'])或plot(t,y,t,y1,t,y2,t,y3,t,y4,t,y5)
3. 单窗口多曲线分图绘图
subplot ——子图分割命令
调用格式:
subplot(m,n,p) ——按从左至右,从上至下排列
m:行;n:列;p:绘图序号
例1:subplot(1,3,1); plot(t,y)
subplot(1,3,2); plot(t,y3)
subplot(1,3,3); plot(t,y2)
例2:
subplot(3,1,1);
plot(t,y)
subplot(3,1,2);
plot(t,y3)
subplot(3,1,3);
plot(t,y2)
4. 多窗口绘图
figure(n) ——创建窗口函数,n为窗口顺序号。
t=0:pi/100:2*pi;
y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);
plot(t,y) ——自动出现第一个窗口
figure(2)
plot(t,y1) ——在第二窗口绘图
figure(3)
plot(t,y2) ——在第三窗口绘图
5.可任意设置颜与线型
plot(t,y,'r-',t,y1,'g:',t,y2,'b*')
6.图形加注功能
将标题、坐标轴标记、网格线及文字注
释加注到图形上,这些函数为:
title ——给图形加标题
xlable ——给x轴加标注
ylable ——给y轴加标注
text ——在图形指定位置加标注
gtext ——将标注加到图形任意位置
grid on(off) ——打开、关闭坐标网格线
legend ——添加图例
axis ——控制坐标轴的刻度
例:t=0:0.1:10
y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');
x=[1.7*pi;1.6*pi];
y=[-0.3;0.8];
s=['sin(t)';'cos(t)'];
text(x,y,s);//x(两个标注的横坐标),y(两个标注的纵坐标)为加标注的位置,s为标注内容
title('正弦和余弦曲线');
legend('正弦','余弦')
xlabel('时间t'),ylabel('正弦、余弦')
grid (on)
axis square
axis的用法还有:
axis([xmin xmax ymin ymax]) ——用行向量中给出的值设定坐标轴的最大和最小值。如axis ([-2 2 0 5])
axis(equal) ——将两坐标轴设为相等
axis on(off) ——显示和关闭坐标轴的标记、标志
axis auto ——将坐标轴设置返回自动缺省值
7.fplot ——绘制函数图函数(即根据函数来绘图)
fplot的调用格式:
fplot(fun,lims) —绘制函数fun在x区间lims=[xmin xmax]的函数图。
fplot(fun,lims,'corline') —以指定线形绘图。
[x,y]=fplot(fun,lims) —只返回绘图点的值,而不绘图。用plot(x,y)来绘图。
例:fplot('[sin(x),tan(x),cos(x)]',2*pi*[-1 1 -1 1])(设置了x与y的范围)
fplot('humps',[0 1],'rp')
ezplot的调用格式:
ezplot(f) —这里f为包含单个符号变量x的符号表达式,在x轴的默认范围[-2*pi 2*pi]内绘制f(x)的函数图
ezplot(f,xmin,xmax) —给定区间
ezplot(f,[xmin,xmax],figure(n)) —指定绘图窗口绘图。
例:ezplot('sin(x)')
ezplot('sin(x)','cos(y)',[-4*pi 4*pi],figure(2))
(二)fill----基本二维绘图函数
Fill的功能:
绘制二维多边形并填充颜
例:x=[1 2 3 4 5];y=[4 1 5 1 4]; fill(x,y,'r')
(三)特殊二维绘图函数
bar 、barh––––绘制直方图
polar ––––绘制极坐标图
hist ––––绘制统计直方图
stairs ––––绘制阶梯图
stem ––––绘制火柴杆图
rose ––––绘制统计扇形图
comet ––––绘制彗星曲线
errorbar ––––绘制误差棒图
compass ––––复数向量图(罗盘图)
feather ––––复数向量投影图(羽毛图)
quiver ––––向量场图
area ––––区域图
pie ––––饼图
convhull ––––凸壳图
scatter ––––离散点图
例1:绘制梯形曲线图x=0:pi/20:2*pi;y=sin(x);stairs(x,y)
例2:阶梯绘图
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2];
h8=[h4 h4;h4 -h4];
t=1:8;
for i=1:8
subplot(8,1,i);
stairs(t,h8(i,:))
axis('off')
end
例3:极坐标绘图
t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)
例4:绘制火柴杆图
t=0:0.2:2*pi; y=cos(t); stem(y)
例5:绘制直方图
t=0:0.2:2*pi; y=cos(t); bar(y)
例6:绘制直方图
t=0:0.2:2*pi; y=cos(t); barh(y)
例7:绘制彗星曲线图
t= -pi:pi/500:pi;
y=tan(sin(t))-sin(tan(t)); comet(t,y)
例8:绘制区域图
x=magic(6);area(x)
例9:绘制饼图
x=[1 2 3 4 5 6 7];y=[0 0 0 1 0 0 0];pie(x,y)
y矩阵表示将第几块饼拿出。matlab直方图
例10:绘制散点图
(1)load seamount
scatter(x,y,50,z)
xy为横纵坐标,50为点的大小,有z点会有颜变化
(2)a=rand(200,1);b=rand(200,1);
c=rand(200,1);
scatter(a,b,100,c,'p')
二、三维绘图
(一)三维线图
✹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', …)
✹二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴✹大小axis([xmin xmax ymin ymax zmin zmax ])
✹grid on(off) 绘制三维网格
✹text(x,y,z,‘string’) 三维图形标注
✹子图和多窗口也可以用到三维图形中
例1:绘制三维线图
t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')
(二)三位饼图
例:pie3([4 3 6 8 9])
(三)三维多边形
✹fill3 = fill ——三维多边形的绘制和填与二维多边形完全相同✹调用格式:fill3(x,y,z,‘s’) ——与二维相同
例:用随机顶点坐标画出5个粉的三角形,并用黄的○表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);
fill3(y1,y2,y3,'m');hold on;plot3(y1,y2,y3,'yo')
plot3画出点,‘yo’中o画出圆圈,y表示圆圈颜
(四)三维网格图
✹mesh ——三维网线绘图函数
✹调用格式:
mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标
mesh(x,y,z) —— x,,y,z分别为三维空间的坐标位置
例1:z=rand(6)
mesh(z)
例2:阶hadamard矩阵的网格线
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2]
h8=[h4 h4;h4 -h4]
mesh(h8)
三维网线图作图要领:
✹生成坐标—— [X,Y]=meshgrid(x,y)
✹表达式点运算—— Z=X.^2+Y.^2
X,Y是n×m的矩阵,维数可任定
X— n
Y— m m n维
Z—
默认方位角:37。5º,俯角30º。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论