零基础Matlab Note6--2D画图之子图subplot(m,n,p)

目录

1、子图 subplot(m,n,p)命令

2、将图像显示在窗格中


1、子图 subplot(m,n,p)命令

subplot(m,n,p) 中 m,n 表示要生成 m行n列 的子图,p 表示第几个子图。从左到右,从上到下。

>> x = [ 0 :0.01: 5];
y = exp(-1*x).*sin(x);
subplot(2,2,1)  %表示两行两列的子图中第一个窗格

零基础Matlab Note6--2D画图之子图subplot(m,n,p)

 >> x = [ 0 :0.01: 5];
y = exp(-1*x).*sin(x);
subplot(2,2,3)   %表示两行两列中的第三个窗格

零基础Matlab Note6--2D画图之子图subplot(m,n,p)

2、将图像显示在窗格中

上面,只是创建了空白的窗格,要显示图像在窗格里,需要继续使用 plot() 命令。

我们以四个函数为例 变量范围 0零基础Matlab Note6--2D画图之子图subplot(m,n,p)x零基础Matlab Note6--2D画图之子图subplot(m,n,p)5 ,-1零基础Matlab Note6--2D画图之子图subplot(m,n,p)y零基础Matlab Note6--2D画图之子图subplot(m,n,p)

y1 = exp(-1*x).*sin(20*x)

y2 = exp(-2*x).*sin(20*x)

y3 = exp(-3*x).*sin(20*x)

y4 = exp(-4*x).*sin(20*x)

>> x = [ 0 : 0.01 : 5 ];
>> y1 = exp(-1*x).*sin(20*x);        %输入第一个函数y1
>> subplot(2,2,1)                          %创建两行两列子图的第一个空白窗格
>> plot(x,y1,'r--'),xlabel('1'),ylabel('y1 = exp(-1*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第一窗格')                                 

%将函数y1图像放入第一个窗格

零基础Matlab Note6--2D画图之子图subplot(m,n,p)

%接下来绘制第二个窗格里的图像

>> x = [ 0 : 0.01 : 5 ];
>> y1 = exp(-1*x).*sin(20*x);
>> subplot(2,2,1)
>> plot(x,y1,'r--'),xlabel('1'),ylabel('y1 = exp(-1*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第一窗格')
>> y2 = exp(-2*x).*sin(20*x);    %这时直接输入函数y2
>> subplot(2,2,2)                      %创建第二个空白窗格
>> plot(x,y2,'b'),xlabel('2'),ylabel('y2 = exp(-2*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第二窗格')                                 

%将y2函数图像放入第二个窗格里

零基础Matlab Note6--2D画图之子图subplot(m,n,p)

 %接下来绘制第三个窗格里的图像

>> x = [ 0 : 0.01 : 5 ];
>> y1 = exp(-1*x).*sin(20*x);
>> subplot(2,2,1)
>> plot(x,y1,'r--'),xlabel('1'),ylabel('y1 = exp(-1*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第一窗格')
>> y2 = exp(-2*x).*sin(20*x);
>> subplot(2,2,2)
>> plot(x,y2,'b'),xlabel('2'),ylabel('y2 = exp(-2*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第二窗格')
>> y3 = exp(-3*x).*sin(20*x);       %直接输入第三个函数y3
>> subplot(2,2,3)                         %创建第三个空白窗格
>> plot(x,y3,'m'),xlabel('3'),ylabel('y3 = exp(-3*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第三窗格')                                     

%将y3函数图像放入第二个窗格里

零基础Matlab Note6--2D画图之子图subplot(m,n,p)  %接下来绘制第四个窗格里的图像

>> x = [ 0 : 0.01 : 5 ];
>> y1 = exp(-1*x).*sin(20*x);
>> subplot(2,2,1)
>> plot(x,y1,'r--'),xlabel('1'),ylabel('y1 = exp(-1*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第一窗格')
>> y2 = exp(-2*x).*sin(20*x);
>> subplot(2,2,2)
>> plot(x,y2,'b'),xlabel('2'),ylabel('y2 = exp(-2*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第二窗格')
>> y3 = exp(-3*x).*sin(20*x);
>> subplot(2,2,3)
>> plot(x,y3,'m'),xlabel('3'),ylabel('y3 = exp(-3*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第三窗格')
>> y4 = exp(-4*x).*sin(20*x);         %输入第四个函数y4
>> subplot(2,2,4)                           %创建第四个空白窗格
>> plot(x,y4,'k'),xlabel('4'),ylabel('y4 = exp(-4*x).*sin(20*x)'),axis( [ 0 5 -1 1 ] ),title('两行两列第四窗格')                                     

%将y4函数图像放入第四个窗格里

零基础Matlab Note6--2D画图之子图subplot(m,n,p)

 以上就是如何生成子图。

上一篇:java克隆对象


下一篇:【23考研复习】函数间断点