Matlab绘图

Matlab绘图

Matlab二维绘图

基本的绘图命令plot


plot(x,y)将坐标为(x,y) 的点依次用直线段连接起来,可以作函数曲线,如:

*x=linspace(0,2\*pi,30);** **%产生区间[0,2*pi]的30个等间隔数赋值给变量x**
y=sin(x); % 计算正弦函数在x中30个点处的函数值赋值给变量y  
plot(x,y)% 作出以x为横坐标,y为纵坐标的30个点依次连接的折线图

plot(x,y)当y是矩阵时可以画多条曲线,一行对应一条线。

x=linspace(0,2*pi,30);  %产生[0,2*pi]的30个等间隔数赋值给变量x
y=[sin(x);cos(x)];  % 产生两行的矩阵赋值给变量y,第1行为正弦函数在
% x的函数值,第1行为余弦函数在x的函数值。
plot(x,y);  % 分别作出以x为横坐标,y的第i行(i=1,2)为纵坐标的30个
% 点依次连接的两条折线图


plot(x,y,‘o’)可以作散点图

x=[0.8,0.35,0.65,0.8,0.2,1, 1.2,1.4,0.42,0.38,0.54,0.6,0.45,0.3,1.3,1.1,1.25,0.6,0.5,0.4]; % 将20个数构成的一维数组赋值给变量x
y=[3,5,8,4.4,6,2,6,7.1,4.3,5,5,3.5,4.8,7.2,4.5,7.3,3.7,4,7,3.2];
% 将20个数构成的一维数组赋值给变量y
plot(x,y,o); %用圆圈标示出以x中数字为横坐标,y中数字为纵坐标的20个点


如何用hold on在同一坐标下画多条曲线或离散点?

x=linspace(0, 2*pi,30); %产生区间[0,2]中的30个等间隔数赋值给变量x
y=sin(x); %计算正弦函数在x中30个点处的函数值并赋值给变量y
plot(x,y,k); %作出以x为横坐标,y为纵坐标的30个点依次连接的% 黑色折线
图,‘k’表示黑色
hold on % 图形窗口绘制新图时旧图仍然保留直到出现 ”hold off”语句
r=(rand(size(x))-0.5)*0.2; % rand(size(x))为与x同样型号的随机数矩阵
y2=sin(x)+r; 
plot(x,y2,bo); %用蓝色圆圈标出以x为横坐标,y2为纵坐标的30个点
x1=linspace(0, pi/2-0.5,20); %产生[0,/2-0.5]的20个等间隔数赋值给变量x1
x2= linspace(pi/2+0.5, 3*pi/2-0.5 ,20);
x3= linspace(3*pi/2+0.5,2*pi,




    
20);
y1=tan(x1);y2=tan(x2);y3=tan(x3);
plot(x1,y1,r,x2,y2,r,x3,y3,r) %分别作出以x1,x2,x3为横坐标,
% y1,y2,y3为纵坐标的点依次连接的红色折线图,‘r’表示红色
hold off % 图形窗口还原为“每次作图都覆盖之前的图”的状态


plot函数的颜色、线形和数据点图标

plot(x,y,'CLM')

(点的坐标,‘颜色线型数据点图标’)

plot函数的颜色


plot函数的曲线线标字符串


例:在同一个坐标系下以不同的标记作出三个函数sin(x),cos(x)以及sin(x)+cos(x) 的图形

x = linspace(0, 2*pi,50); %产生区间[0,2]上的50个等间隔数,并存放到变量x中
plot(x, sin(x), 'bo', x, cos(x), 'rx', x, sin(x)+cos(x), 'y*');
%用蓝色圆圈)(‘bo‘)来标示横坐标为x,纵坐标为sin(x)的50个点; 红色叉号(’rx‘)
%标示x, cos(x)中的50个点; 黄色星号(’y*‘)标示x,sin(x)+cos(x)中的50个点。

如何对坐标系进行调整

axis([xmin xmax ymin ymax])
% [ ]中分别给出x轴和y轴的最小、最大值
axis equal  %x轴和y轴的单位长度相同axis square        %图框呈方形
grid on(off)    %添加(取消)坐标网格线
axis off    %取消坐标轴

在图形或坐标轴加入说明文字,增进整体图形的可读性

如何创建多幅子图

subplot —— 子图分割命令

调用格式:

subplot(m,n,p) —— 子图按从左至右,从上至下排列

同时画出四个图于一个窗口中

x = 0:0.1:4*pi; %产生区间[0,4]上以0.1为公差的等差数组,并将其赋值给x
subplot(2, 2, 1); plot(x, sin(x));title(sin(x))
% 将图形窗口分为2×2四个区域,在1号区域(左上角)绘图,并加标题
subplot(2, 2, 2); plot(x, cos(x)); title(cos(x))
%将图形窗口分为2×2四个区域,在2号区域(右上角)绘图,并加标题
subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5));   title(sin(x)exp(x))
%将图形窗口分为2×2四个区域,在3号区域(左下角)绘图,并加标题
subplot(2, 2, 4); plot(x, x.^2);title(x^2)
%将图形窗口分为2×2四个区域,在4号区域(右下角)绘图,并加标题

matlab其他可以画的二维线形

plot ––––二维坐标系中画点画线 ezplot ––––绘制二维曲线

bar –––– 绘制直方图

polar –––– 绘制极坐标图

hist –––– 绘制统计直方图

stairs –––– 绘制阶梯图s

tem –––– 绘制火柴杆图 rose –––– 绘制统计扇形图

comet –––– 绘制彗星曲线

pie –––– 饼图 errorbar –––– 绘制误差条形图 quiver –––– 向量场图

scatter –––– 离散点图

area –––– 区域图

convhull –––– 凸壳图 compass –––– 复数向量图(罗盘图)

feather –––– 复数向量投影图(羽毛图)

matlab三维绘图

绘制三维空间曲线

plot3(x,y,z)将坐标点(x,y,z)依次用直线段连接,可 以作出空间曲线

例:作螺旋线 x=sint, y=cost, z=t

键入: t=0:pi/50:10*pi; Plot3(sin(t),cos(t),t)


plot3 —— 基本的三维曲线绘制命令

调用格式: pl 3( lot3(x,y,z)) —— x,y,z是长度相同的向量 plot3(X Y Z) plot3(X,Y,Z) ——X,Y,Z是维数相同的矩阵 plot3(x,y,z,’s’) ——开关量字符串s用来设定曲线颜色和绘图方式,与plot一样

二维图形的所有基本特性对三维图形全都适用。

坐标系控制

如:axis([xmin,xmax, ymin, ymax, zmin, zmax]) grid on(off)绘制(取消)三维坐标网格线

三维图形标注

子图也可以用到三维图形中

如何绘制三维空间曲面

空间曲面绘制的三个基本步骤

1.生成平面网格 2.计算网格点上函数值 3.绘制网面

生成平面网格点命令

[X, Y]=meshgrid(x, y)

例:作出二元函数f=x2+y2的图形。 clf,

[X,Y]=meshgrid(x,y);    %生成 xy 坐标“格点”矩阵
Z=X.A2+Y.A2;    %计算格点上的函数值
surf(X,Y,Z);

命令:[X,Y]=meshgrid(x,y)

x=1:5;
y=1:3;
[X,Y]=meshgrid(x,y)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3

例:作出二元函数f=x2+y2的图形。 clf,

x=-4:4; y=x;
[X,Y]=meshgrid(x,y);   %生成 x-y 坐标“格点”矩阵
Z=X.A2+Y.A2;    %计算格点上的函数值
surf(X,Y,Z);
hold on,
colormap(hot) 
stem3(X,Y,Z,'bo') %用来表现在格点上计算函数值