0
点赞
收藏
分享

微信扫一扫

Matlab图形绘制


目录

​​0 主要内容​​

​​1 基本二维曲线绘制​​

​​1.1  plot(y)​​

​​1.2 plot(x,y)  ​​

​​2 绘图辅助操作​​

​​2.1 颜色、标记和线型 ​​

​​2.2 坐标轴标注和范围设置 ​​

​​2.3  标题和图例标注​​

​​3 双纵坐标、多子图绘制 ​​

​​3.1 双纵坐标绘图​​

​​3.2  多子图绘制​​

​​3.3 多图绘制​​

​​4 图形的直接编辑​​

​​5 三维数据可视化 ​​

​​5.1 三维曲线绘制​​

​​ 5.2 三维曲面绘制​​

0 主要内容

基本二维曲线绘制

绘图辅助操作

双纵坐标、多子图绘制

图形的直接编辑


三维数据可视化



1 基本二维曲线绘制

1.1  plot(y)

y 可以是向量、实数矩阵或复数向量。

 y 是向量 :绘制以向量索引为横坐标、以向量元素值为纵坐标的图形。

 y 是实数矩阵 :绘制 y 的列向量对其坐标索引的图形。

 y 是复数向量 :

   plot(y) 相当于 plot(real(y),imag(y))

                       

                               取              取

                               实              虚

                               部              部






%例1.1.1

y= 5*(rand(1,10)-.5)
plot(y)

Matlab图形绘制_matlab

                             

Matlab图形绘制_matlab_02

%例1.1.2
y= [0 1 2;2 3 4;5 6 7]
plot(y)

                  

Matlab图形绘制_子图_03

1.2 plot(x,y)

x,y均可以是向量和矩阵。

 x,y 均是 n 维向量 :绘制向量 y 对向量 x 的图形, x 为横坐标、 y 为纵坐标。

 x 是 n 维向量, y 是 m × nn × m 阶矩阵 :在同一图内绘制 m 条不同颜色的曲线, x 为横坐标、      纵坐标为y 矩阵的 mn 维 分量。在同一图内绘制 多条自变量相同的 不同的 曲线 。


x ,y 均是 m × n 阶矩阵 :在同一图内绘制 n 条不同颜色的曲线,以 x 对应列分量 为横坐标、 y         对应列分量为纵坐标。

plot(t,[y1;y2;…])


 plot(t,y1)

    hold on

    plot(t,y2, ‘r’)


 plot(x1,y1,x2,y2,…,xn,yn)

    用于在同一图内绘制 横坐标不同 的 多条 曲线 。







  


%例1.2.1

x=0:0.1:10;
y= sin(2*x);
plot(x,y)

                       

Matlab图形绘制_开发语言_04

%例1.2.2

x=0:0.1:10;
y=[sin(x)+2; cos(x)+1]
plot(x,y)

                           

Matlab图形绘制_matlab_05

%例1.2.3
x=0:0.01:10;
y1=sin(x)+2;
y2= cos(x)+1;
plot(x,[y1;y2])

x=0:0.01:10;
y1=sin(x)+2;
y2= cos(x)+1;
plot(x,y1)
hold on
plot(x,y2,’r’)

                       

Matlab图形绘制_matlab_06

%例1.2.4
t1=0:0.2:4*pi;
y1= exp(-0.1*t1).*sin(t1);
t2=0:0.2:2*pi;
y2= exp(-0.5*t2).*sin(5*t2+1);
plot(t1,y1,'+k',t2,y2,':r')

                           

Matlab图形绘制_开发语言_07

2 绘图辅助操作

2.1 颜色、标记和线型

颜色 :用不同的英文字母表示不同的 颜色,多数与英文单词对应。


%例2.1.1
t1=0:0.2:4*pi;
y1= exp(-0.1*t1).*sin(t1);
t2=0:0.2:2*pi;
y2= exp(-0.5*t2).*sin(5*t2+1);
plot(t1,y1,‘+k’)
hold on
plot(t2,y2,‘:r’)

                               

Matlab图形绘制_开发语言_12

2.2 坐标轴标注和范围设置

坐标轴的标注、范围、刻度以及宽高比。

坐标轴标注函数 : xlabel 、 ylabel 、 zlabel

    格式: xlabel (‘string’)

   string :标注所用的说明字符串

   xlabel (‘x’)

 坐标范围标注函数 : axis

    格式: axis ( 横轴范围 纵轴范围 )

    axis([-4 4 -5 5])


%例2.2
t=0:0.02:2*pi;
x= 4*sin(t);
y= 5*cos(t);
plot(x,y)
xlabel('指定范围')
axis([-4 4 -5 5])

                    

Matlab图形绘制_开发语言_13

2.3  标题和图例标注

标题 是对所绘图形的说明。

    格式: title (‘string’)

    string :标注所用的说明字符串

 图例标注 是为图形中的所有曲线进行标注。

    格式: legend (‘string1’, ‘string2’,…)

    legend (‘location’, ‘location’,…)

    string i :标注按绘制的先后顺序生成的曲线

    legend :定义标注放置的位置


%例2.3
x=-pi:pi/20:pi;
y1= cos(x);
y2= sin(x);
plot(x,y1, '-ro',x,y2, '-.b')
title('curve')
legend('y1', 'y2', 'location','southeast')

                    

Matlab图形绘制_坐标轴_14

3 双纵坐标、多子图绘制

3.1 双纵坐标绘图

plotyy(x1,y1,x2,y2) 两条曲线 x1-y1 、 x2-y2 分别以左右纵轴 为纵坐标。


%例3.1
x1=0:0.1:5;
y1= exp(-x1/3);
x2=0:0.1:5;
y2= sin(2*x2);
plotyy(x1,y1,x2,y2)
title('plotyy exam')

                    

Matlab图形绘制_开发语言_15

3.2  多子图绘制

在一个图形窗绘制多条不同的曲线。

     subplot(m,n,p)

将图形窗分为 m × n 个子窗口,在第 p 个子 窗口中绘制图形。子图的编号顺序为从左 到右,从上到下。 p 为子图编号。


%例3.2
t=0:0.2:4*pi;
y= exp(-0.1*t1).*sin(t1);
subplot(2,2,1),stem(t,y)
title('stem(t,y)');
subplot(2,2,2),stairs(t,y)
title('stairs(t,y)');
subplot(2,2,3),bar(t,y)
title('bar(t,y)');
subplot(2,2,4),fill(t,y,'r')
title('fill(t,y,‘‘r’’)' )

                      

Matlab图形绘制_坐标轴_16

3.3 多图绘制

生成多个图形窗口。

           figure


%例3.3
t1=0:0.2:4*pi;
y1= exp(-0.1*t1).*sin(t1);
t2=0:0.2:2*pi;
y2= exp(-0.5*t2).*sin(5*t2+1);
figure(1)
plot(t1,y1,'*c')
figure(2)
plot(t2,y2,':r')

                      

Matlab图形绘制_图例_17

                     

Matlab图形绘制_图例_18

4 图形的直接编辑

颜色、标记和线型

坐标轴标注和范围设置

标题和图例标注

保存


5 三维数据可视化

5.1 三维曲线绘制

plot3(x,y,z)


grid :图上加坐标网格


%例5.1
z=0:0.1:4*pi;
x= cos(z);
y= sin(z);
plot3(x,y,z)
grid

               

Matlab图形绘制_matlab_19

5.2 三维曲面绘制

mesh    网格状曲面

surf      给网格填充了颜色的曲面



%例5.2.1
x=-8:0.5:8;
y=x';
X=ones(size(y))*x;
Y=y*ones(size(x));
R=sqrt(X.*X+Y.*Y);
z=sin(R)./R;
mesh(z)

                    

Matlab图形绘制_开发语言_20

%例5.2.2 特殊图形的绘制
axis equal;
M=moviein(16);
for j=1:16
plot(fft(eye(j+16)));
M(:,j)=getframe;
end
movie(M,30

                    

Matlab图形绘制_子图_21

     

       

举报

相关推荐

0 条评论