matlab绘图Word文件下载.docx
《matlab绘图Word文件下载.docx》由会员分享,可在线阅读,更多相关《matlab绘图Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
(1)若Y的元素值为实数,则plot(Y)绘制以向量Y元素值为纵坐标,它
的下标值为横坐标的线性图。
若Y的元素值为复数,则以实数为横坐
标,虚数为纵坐标绘制线性图。
(2)对于格式plot(X,Y)则以向量X为横坐标,向量Y为纵坐标绘制线性
图。
若X、Y为同维矩阵,则以矩阵X、Y的对应列向量绘制线性图。
例如:
x=[121;
459]
y=[231;
587]
plot(x,y)
(3)对于格式plot(X1,Y1,LineStyle,X2,Y2,…)则规定线的类型,如实线、
虚线、点划线等。
不作规定时,则默认为实线。
(4)对于格式plot(…,’PropertyName’,PropertyValue,…)则对特性名,特
性值作规定。
特性名有线宽(LineWidth)、颜色(Color)、标记点
(Marker)、标记点边缘颜色(MarkerEdgeColor)、标记点充填颜色
(MarkerFaceColor)、标记点大小(MarkerSize)等。
(5)对于格式h=plot(…)则返回图形的句柄,相当于图形的标识码。
【注:
句柄实际上就是分配给每个对象的数字标识,在创建对象的同时,就
为它建立了一个唯一的句柄】
线型(LineStyle)说明
线型符号
实线-
虚线--
双点线:
点划线-.
标记点(Marker)说明
标记点符号说明标记点符号说明标记点符号说明
+加号s方块<
左三角
o圆点d菱形p五角形
*星号^上三角h六角形
.点号v下三角
x叉号>
右三角
线的颜色(Color)说明
名称缩写RGB值名称缩写RGB值
黄色y[110]绿色g[010]
紫红色m[101]蓝色b[001]
兰绿色c[011]白色w[111]
红色r[100]黑色k[000]
3、举例
——例1:
用均匀分布的随机函数产生1行8列的向量,将该向量乘100后
再沿零取整,得向量Y的线性图plot(Y)。
解:
%helpfix%helpfloor%helpround%helpceil
%fix(-3.2)%floor(-3.2)%round(-3.2)%ceil(-3.2)
Y=fix(100*rand(1,8))
gridon%增加坐标格栅线
title('
向量Y的线性图'
)%设置图形标题
xlabel('
向量Y的下标'
)%设置横坐标标注
ylabel('
向量Y的各元素值'
)%设置纵坐标标注
——例2:
已知三角函数y=tan(sinx)及三角函数y1=sin(tanx),请绘出在区
间[-Л,Л]的y、y1的线性图。
x=-pi:
pi/10:
pi;
y=tan(sin(x));
y1=sin(tan(x));
plot(x,y,'
-'
x,y1,'
*'
)
--rs'
'
linewidth'
2,'
markeredgecolor'
k'
markerfacecolor'
g'
markersize'
10)%线型为红色虚线,线宽为2,标记点为方块,边缘线
为黑色,标记表面为绿色,标记大小为10
holdon%图形保持
plot(x,y1,'
-ko'
r'
1
0)%线型为黑色实线,标记点为圆点,标记边缘为黑色,标记表面
为红色,标记点大小为10
x-axes'
y-axes'
——例3:
已知y=sinx,绘制[0,2Л]的函数图,并求函数图的句柄;
通过
set命令改变线宽为8,线的颜色为红色。
x=0:
pi/50:
2*pi;
y=sin(x);
h=plot(x,y)%函数图句柄值
%helpset
set(h,'
8,'
color'
)%设置线宽和颜色
gridon
——例4:
已知I=sint,V=2sin(t+Л/3),P=IV=2sintsin(t+Л/3),请画图。
t=0:
4*pi;
I=sin(t);
V=2*sin(t+pi/3);
P=I.*V;
%注意:
数组乘法
plot(t,I,'
t,V,'
:
'
t,P,'
+'
)%绘制I、V、P曲线,分别以实线、双点线、
加号线表示。
——例5:
已知:
u(t)=0,当t<
0;
u(t)=1,当0≤t<
2;
u(t)=0.2,当t≥2
求u(t)在[0,10]范围内的线性图。
time=[0:
0.02:
10]'
;
u=1*(1+0*(time));
%helplength
%x=randn(3,2)
%length(x)
%max(size(x))
%x=randn(2,3)
fori=min(find(time>
=2)):
length(u)
u(i)=0.2;
end
plot(time,u)
%helpaxis
axis([0,10,0,1.2])%设置坐标范围
脉冲波'
time'
u'
二、简易线性函数图
1、为了绘制线性函数图的方便,而设置的简易线性图函数ezplot,它不用
设置自变量的间隔向量、线宽、标记点、颜色,只要知道函数的符号表
达式,即可绘出函数图形。
2、ezplot的书写格式为:
ezplot(f)
ezplot(f,[xmin,xmax])
ezplot(f,[xmin,xmax,ymin,ymax])
ezplot(f(x,y))
ezplot(f(x,y),[tmin,tmax])
式中,f为符号函数表达式,默认的自变量变化区间为[-2Л,2Л],亦
可以自行选择自变量变化区间为[xmin,xmax]。
对于隐函数f(x,y)=0,
在默认的情况下变量x,y的变化区间均为[-2Л,2Л],亦可以自行选择
自变量变化区间为[xmin,xmax,ymin,ymax]。
对于变量x,y均为参变量t
的函数,则可在书写格式中添加[tmin,tmax]。
3、举例:
已知椭圆方程式x2/9+y2/4=1,求绘制椭圆曲线。
ezplot('
x^2/9+y^2/4-1'
axis([-3,3,-2,2])
——例2:
已知三角函数y=cos(2x)/(1-sin2x)1/2,求函数图形。
cos(2*x)./(1-sin(2*x)^(1/2))'
三、面积图
1、可以用area来绘制面积图;
%helparea
2、ForvectorXandY,AREA(X,Y)isthesameasPLOT(X,Y)exceptthat
theareabetween0andYisfilled.WhenYisamatrix,AREA(X,Y)
plotsthecolumnsofYasfilledareas.ForeachX,thenetresultisthe
sumofcorrespondingvaluesfromthecolumnsofY.
3、AREA(Y)usesthedefaultvalueofX=1:
SIZE(Y,1).
4、举例:
x=1:
8
y=[109182025322540]
area(y)
area(x,y)
x1=1:
2:
5
y1=[816;
372;
594]
area(x1,y1)%对应x1中的元素1,纵向高度等于8+1+6=15
plot(x1,y1)
四、散点图
1、可以用plot来绘制散点图,也可以用散点图函数scatter,其书写格式为:
scatter(X,Y,S,C)
scatter(X,Y)
scatter(…,MarkerType)
scatter(…’filled’)
h=scatter(…)
式中,X,Y为横坐标向量和纵坐标向量,它们必须有相同的长度。
S是
指圆圈标记点的面积,面积定为点宽的平方,它可以是标量,若是向量,
则必须与X,Y长度相同。
C确定标记点的颜色,若是向量,则必须与
X,Y具有相同的大小。
MarkerType用来改变标记点的类型,filled用
来充填标记点的颜色。
在标记类型默认的情况下,scatter绘出的是圆圈
h用来取得散点图的句柄,用于图形的修饰。
2、举例:
为了统计在正常情况下,人的体重与身高的关系,今有以下测试
数据,见下表,请画出它的散点图。
并用线性回归找出它的回归方程。
序
号
123456789101112
体
重
605756.5656364706568767278
身
高
1.551.581.601.641.661.681.701.731.781.801.821.85
X=[1.55,1.58,1.6,1.64,1.66,1.68,1.7,1.73,1.78,1.8,1.82,1.85];
Y=[60,57,57,65,63,64,70,65,68,76,72,78];
plot(X,Y,'
b*'
)%绘制散点图,星号为标记点,颜色为蓝色。
holdon
%helppolyfit
b=polyfit(X,Y,1)%取1阶线性回归
x=1.5:
0.1:
2;
y=b
(2)+b
(1)*x;
%散点的回归直线,系数来自于polyfit的结果
r-'
)%绘制回归直线,红色,实线
身高'
体重'
身高与体重的关系曲线'
有一台电气设备,从投入使用到报废的故障记录如下表所示,请
画出故障曲线并用曲线加以平滑连接。
时间1-3
月
4-6
7-9
10-12
2
年
3
4
6
7年
1-6月
7-12月
故障
次数
43210010136
A=[0.25,0.5,0.75,1,2,3,4,5,6,6.5,7;
4,3,2,1,0,0,1,0,1,3,6];
t=A(1,1:
11);
%故障时间
faunum=A(2,1:
%故障次数
t1=0:
7;
%helpinterp1%注意:
函数interp1是数字1,不是字母l
fault=interp1(t,faunum,t1,'
spline'
)%用三次样条插值。
plot(t,faunum,'
o'
t1,fault)%绘制散点图和样条插值图
由国家计划生育委员会公布的,到2050年我国人口增长的模型
见下表,请绘制增长曲线。
年份20012005201020202050
人口/亿12.7613.3141516
A=[20012005201020202050;
12.7613.3141516];
year=A(1,:
);
popu=A(2,:
t=2001:
0.2:
2050;
pop=interp1(year,popu,t,'
plot(year,popu,'
t,pop)
——例4:
利用散点图函数设计花卉图。
forr=2:
20
zeta=0:
pi/12:
x=r*cos(zeta+r*pi/30);
y=r*sin(zeta+r*pi/30);
c
(1)=2/r;
c
(2)=r/20;
c(3)=r/20;
%颜色
scatter(x,y,5,c,'
filled'
五、极坐标图及其与直角坐标图的转换
1、MATLAB既可以用直角坐标画图也可以用极坐标画图,还可相互转换。
2、极坐标绘图函数的书写格式如下:
polar(theta,rho)
polar(theta,rho,LineSpec)
其中,theta为模向量与横坐标的夹角向量,以弧度表示;
rho为模长度
的向量;
LinSpec为线的规格。
3、极坐标与直角坐标相互转换的关系如下:
极坐标转换成直角坐标的书写格式:
[x,y]=pol2cart(theta,rho)
直角坐标转换成极坐标的书写格式如下:
[theta,rho]=cart2pol(x,y)
其中,x、y分别为横坐标向量和纵坐标向量。
试用极坐标和直角坐标,分别绘制3叶玫瑰线r=sin(3*zeta)。
6*pi/600:
6*pi;
r=sin(3*zeta);
[x,y]=pol2cart(zeta,r);
subplot(1,2,1);
%设置绘图窗口为1行2列,在左侧绘图
polar(zeta,r)%极坐标图
subplot(1,2,2);
%设置绘图窗口为1行2列,在右侧绘图
plot(x,y)%直角坐标图
已知直角坐标参数方程x=cos3(zeta),y=sin3(zeta),将其转换成极
坐标,并图示之。
pi/20:
x=cos(zeta).^3;
y=sin(zeta).^3;
[theta,rho]=cart2pol(x,y);
%直角坐标转换成极坐标
h=polar(theta,rho)%极坐标图的句柄
2)
六、条形图
1、条形图函数的书写格式如下:
(1)bar(Y)绘制向量Y每一个元素的条形图,条形的幅值代表元素值,
条形图的下标为向量Y的序列。
假若Y为矩阵,则产生代表矩阵每
一行元素值的条形组,条形组的横坐标是显示矩阵的行数。
(2)bar(x,Y)绘制向量Y的每一个元素在指定x位置的条形图,向量x
的值必须是单调递增的。
假若Y为矩阵,则一串条形代表矩阵Y的
行元素,放置于横坐标x的位置。
(3)bar(…,width)用来设置条形的宽度,默认时为0.8,当宽度设为1时,
则条形一个紧挨着一个,没有间隙。
若没有指定x,则条形组之间有
细小的分离。
(4)bar(…,’style’)用来指定条形的类型,类型分为“grouped”或
“stacked”,“grouped”是默认的显示模式。
“grouped”表示显示n
组每组m个垂直条形图,n表示矩阵Y的行数,m表示矩阵Y的列
数。
“stacked”则用元素叠加形式显示条形,它的高度是每行元素的
总和,每行的条形是多色的,用颜色来区分各元素及其所占成分。
(5)bar(…,LineSpec)用来设置条形的颜色。
(6)h=bar(…)返回句柄向量,为图形对象修饰之用。
(7)barh(…)创建水平方向绘制的条形图。
绘制衰减余弦曲线y=exp(-0.5x)cos(x)在[0,5Л/2]区间的条形图。
5/2*pi;
y=exp(-0.5*x).*cos(x);
bar(y,0.5)%绘制条形图,宽度设为0.5
用group和stack条形图分别显示4阶魔方矩阵。
再求其水平条
形图及叠加模式水平条形图。
Y=magic(4);
subplot(2,2,1);
bar(Y)%条形图
subplot(2,2,2);
bar(Y,'
stacked'
)%叠加模式条形图
subplot(2,2,3);
barh(Y)%水平条形图
subplot(2,2,4);
barh(Y,'
)%叠加模式水平条形图
三家企业A、B、C从2001年到2004年的销售量见下表,请绘
制条形图,比较三个企业的优劣。
年份企业A企业B企业C
200110556107
20021087895
200311010573
200412117545
A=[105,56,107;
108,78,95;
110,105,73;
121,175,45]
x=[2001,2002,2003,2004];
bar(x,A)
plot(x,A(:
2),'
5)
七、饼图
1、描述一组数据中每一部分占总体的份额或百分数,并用圆饼的一部分扇
形来表示,称为饼图。
2、书写格式为:
pie(X)
pie(X,explode)
h=pie(…)
其中,X为向量,pie为绘制饼图的函数。
pie(X)绘出向量X中的每一分
量;
pie(X,explode)将向量中某几个元素从饼图中分离出来。
explode必
须是与X同维的向量,它是一个以0和非零元素构成的向量,如果
explode(j)为非零;
则X(j)元素从饼图中分离开来,否则保留。
某公司销售4种产品A、B、C、D,其每季对利润的贡献见下表,
求本年度哪种产品对公司利润的贡献最大,并从饼图中分离出来。
季度产品A产品B产品C产品D
122203341
235197484
381197452
413194667
A=[22203341;
35197484;
81604452;
13194667];
S=sum(A)
[m,i]=max(S)
explode=zeros(size(S))
explode(i)=1
pie(S,explode)
某公司员工人数及每月工资支出见下表,试用饼图显示员工分类
百分数及各类人员所占工资总额百分数。
职务工人行政人员高级主管总经理
人数15050123
月工资总额150000750004800030000
A=[150,50,12,3];
B=[150000,75000,48000,30000];
pie(A,[1,0,0,0])
pie(B,[1,0,0,0])
八、阶梯图
1、阶梯图函数stairs,对于绘制时间序列的样本数据是很有用的。
其书写
格式为:
stairs(Y)
stairs(X,Y)
stairs(…,LineSpec)
[xb,yb]=stairs(X,Y)
其中,X、Y为同维向量,LineSpec用来指定线型、标记和图形颜色。
xb、yb为返回向量。
对于stairs(Y)用来绘制向量Y的阶梯图,横坐标则显示向量Y的序列。
对于stairs(X,Y)用来绘制向量Y的阶梯图,横坐标显示向量X。
注:
h=stairs(Y)或h=stairs(X,Y)画出阶梯图并返回句柄。
但
[xb,yb]=stairs(X,Y)则返回向量xb和yb并不画出阶梯图。
现有某股票的采样数据如下,求此数据的阶梯图。
pri=[9.919.6610.210.059.7710.2310.239.9910.0610.039.9610.149.68
10.439.971010.2110.19.989.8310.059.7310.1410.329.8610.1710.259.68
9.7110.119.9210.1310.1610.1410.2510.1310.239.759.999.969.6710.05
9.7810.289.8310.110.049.819.569.98];
ti=[246791012151720212225283032353638394041424447
51555860626366677174757879818586889294959698101102
104];
h=stairs(ti,pri)
5,'
股价波动曲线'
时间_分'
股价'
某城市在职职工、月工资收入范围与所占总职工的人数百分比见
下表,试用阶梯图来表示。
月收入8001000120015002000250035005000
占比%1013213312821
X=[8001000120015002000250035005000];
Y=[1