Matlab画图教程

来源:互联网 发布:胡雪岩 盛宣怀 知乎 编辑:程序博客网 时间:2024/05/16 15:55

1、MATLAB简介:MATLAB语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。

2、MATLAB的绘图功能:

(1)单窗口单曲线绘图

x=[0,0.58,0.84,1,0.91,0.6,0.14]

plot (x)

(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)单窗口多曲线分图绘图

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)

subplot(1,3,1);plot(t,y)

subplot(1,3,2);plot(t,y1)

subplot(1,3,3);plot(t,y2)

 

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)

subplot(3,1,1);plot(t,y)

subplot(3,1,2);plot(t,y1)

subplot(3,1,3);plot(t,y2)

(4)多窗口绘图

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)可任意设置颜色与线型

t=0:pi/100:2*pi;

y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);

subplot(1,3,1);plot(t,y,'r-')

subplot(1,3,2);plot(t,y1,'g:')

subplot(1,3,3);plot(t,y2,'b*')

(6)图形加注功能

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);

title('正弦和余弦曲线');

legend('正弦','余弦')

xlabel('时间t'),ylabel('正弦、余弦')

grid

axissquare

fill-基本二维绘图函数

x=[1 2 34 5];y=[4 1 5 1 4];

fill(x,y,'r')

绘制阶梯曲线

x=0:pi/20:2*pi;y=sin(x);

stairs(x,y)

绘制极坐标绘图

t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)

绘制火柴杆绘图

t=0:0.2:2*pi;y=cos(t); stem(y)

绘制直方图

t=0:0.2:2*pi;y=cos(t); bar(y)

绘制彗星曲线图

t=-pi:pi/500:pi;

y=tan(sin(t))-sin(tan(t));comet(t,y)

绘制三维线形图

t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')

三维多边形

y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);

fill3(y1,y2,y3,'m');holdon;plot3(y1,y2,y3,'yo')

矩阵的三维网线图

z=rand(6);

 0.8808   0.0729    0.4168    0.7694   0.3775    0.4776

 0.3381   0.7101    0.0964    0.6352   0.3826    0.7086

 0.1895   0.8791    0.6747    0.8965   0.6876    0.2380

 0.7431   0.3594    0.5626    0.8784   0.1217    0.3910

 0.7189   0.0899    0.8130    0.4865   0.0768    0.9759

 0.8792   0.1610    0.8782    0.1131   0.1433    0.6288

z=round(z)

 1    0     0     1    0     0

 0    1     0     1    0     1

 0    1     1     1    1     0

 1    0     1     1    0     0

 1    0     1     0    0     1

 1    0     1     0    0     1

mesh(z);

不出图…

meshgrid——网线坐标值计算函数

x=-5:5;y=x;

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

Z=X.^2+Y.^2

mesh(X,Y,Z)

三维曲面图

x=-5:5;y=x;

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

Z=X.^2+Y.^2

surf(X,Y,Z)

 

练习1(1)在同一幅图上的(-pi,pi)区间,用0.5的间隔绘制sinx的红色曲线,用0.1的间隔绘制sin(x+0.5)的绿色曲线,用0.01的间隔绘制sin(x+1)的蓝色曲线。

t=-pi:0.5:pi;

y=sin(t);

t=-pi:0.1:pi;

y1=sin(t+0.5);

t=-pi:0.01:pi;

y2=sin(t+1);

plot(t,y,'r-',t,y1,'g:',t,y2,'b*')

(2)给图的x和y轴添加标注。

xlabel('时间t'),ylabel('正弦')

 

练习2在[-2*pi,pi]区间以0.1的间隔绘制5cos(x.^2+1)的曲线。

t=--10:0.1:10;

y =5*cos(x..*x+1);

plot(x,y,'r');

x=[-2*pi;pi];

 

练习3编辑M文件,实现函数4xexp-(x^2+y^2) 的各种图形,包括三维线形图、网眼图、曲面图,并对它们分别加图题和标注坐标轴。

x=-2:0.05:2;y=-2:0.05:2;

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

Z=4*X.*(exp(-(X.^2+Y.^2)));

figure(1);plot3(X,Y,Z);gridon;

title('三维线形图','FontSize',24,'FontName','隶书');

figure(2);mesh(X,Y,Z);gridon;

title('三维网眼图','FontSize',24,'FontName','隶书');

figure(3);surf(X,Y,Z);gridon;

title('三维表面图','FontSize',24,'FontName','隶书');

四、作业:

编辑M文件,实现函数                   的各种图形,包括三维线形图、网眼图、表面图、轮廓图、混合图,并对它们分别加图题和标注坐标轴。

x=-2:0.05:2;y=-2:0.05:2;

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

Z=4*X.*(exp(-(X.^2+Y.^2)));

figure(1);plot3(X,Y,Z);gridon;

title('三维线形图','FontSize',24,'FontName','隶书');

xlabel('时间t'),ylabel('对数');

figure(2);mesh(X,Y,Z);gridon;

title('三维网眼图','FontSize',24,'FontName','隶书');

xlabel('时间t'),ylabel('对数');

figure(3);surf(X,Y,Z);gridon;

title('三维表面图','FontSize',24,'FontName','隶书');

xlabel('时间t'),ylabel('对数');

figure(4);contour(X,Y,Z);gridon;

title('三维轮廓图','FontSize',24,'FontName','隶书');

xlabel('时间t'),ylabel('对数');

figure(5);surfc(X,Y,Z);gridon;

title('三维混合图','FontSize',24,'FontName','隶书');

xlabel('时间t'),ylabel('对数');