子图
子图是什么,在matlab中指代在一个图里面再加一个图,或者多个。制作子图的命令是用subplot(m,n,p),其中的m和n指代这个子图的m行和n列,n也可以指代有几个窗口,p指代我们要贴的窗口的序号,下面让我们用例子来看一下:
假设我们要画y = exp(-1.2x).*sin(20x)和y = exp(-2x)sin(20x)的图像,其中x = [0:0.01:5],y = [-1:1],然后让他们分别显示在同一个图中。首先我们还是要列出函数式,然后是自变量的取值范围,然后才是用subplot(),结果如下:
这里subplot(1,2,1)的含义是,告诉matlab画一个一行,两列的图,放在一号位。暂时不理解没关系,继续看
此时的图还是空的,因为我们还没有正式画图在上面,这时,需要我们调用plot函数才能让他显示出我们需要的:
这时我们在它旁边的那块地方生成y = exp(-2x)sin(20x)图像,方法都是一样的,只不过subplot(1,2,1)要变成subplot(1,2,2),就像这样:
现在让我们看一下如果我们更改其他的数据会怎么样
图象重叠和 linspace 命令
图象重叠在数据分析里面可是个至关重要的问题,因为它可以直观地表达出你所需要的信息,实现的方法也很简单,在输入完plot函数后加个hold on就可以在原有的图像上继续做图了。linspace(a,b)其实可以等价成x = [a:b],如果是linspace(a,b,n)的话,其中的n指代的是a到b中有多少个数字,接下来让我们用具体的例子来看看吧
假设我们需要将y = cos(x)和y = sin(x)的图像放在一张图中,x的取值是[0:2*pi],那么我们此时的x可以写作:x = linspace(0,2*pi)
如果我们直接输入y = sin(x)会怎么样
可以发现,我们原先的y = cos(x)的图像被覆盖了
这时,我们加个hold on然后输入y = sin(x)试试
可以看到,我们成功的将两个图象合并为一个了