matlab如何在一个窗口中绘制多个子图

2024-12-17 08:59:46
推荐回答(3个)
回答1:

matlab在一个窗口中绘制多个子图步骤如下。

1、打开软件,找到图像输出控制部分语句,这里演示输出3个不同曲线,通过figure控制结果显示到的窗口。

2、运行后,通过这种控制方式,只是将结果分别存放到不同窗口,并不是在同一窗口下,分多行显示。

3、使用hold on,注意添加多次,运行程序后,可以看到3种结果位于同一窗口。

4、需使用subplot,为每个输出结果,添加此语句。函数后有(n,m,a)格式语句,n指的是所有图准备分的行数,m为列数,a则指的是第几幅图。

5、运行该段代码,可得到2乘2的结果。选择好m、n取值,这两者对于所有子图设置数值完全一致,而a则表示第几幅,是按照先行后列的方法计数的。

6、修改代码后,改为一行三列显示,这样可进一步了解subplot后面3个参数的意义。

这样就可以在matlab一个窗口中绘制多个子图。

回答2:

figure(1);
subplot(abc);%这句就是划分窗口的,a代表行,b代表列,c代表当前位置,a b c都是1 2 3之类的数
比如你想画4个图,可以2*2 两行两列吗,也可以1*4 1行4列,还可以4*1 4行1列,
那2*2的四个分区就是
subplot(211);
plot(x);
subplot(212);
plot(x1);
subplot(221);
plot(x2);
subplot(222);
plot(x3);
其它情况类似,你应该懂了

回答3:

可以采用subplot函数。具体解释subplot(m,n,p);先指定将一个图分为m行n列,当前画图为p。以下以画正弦函数,余弦函数,一次函数和二次函数在【-3,3】范围的图像为例说明如何使用subplot函数。
代码:
>> subplot(2,2,1)
>> plot(-3:0.01:3,sin(-3:0.01:3))
>> subplot(2,2,2);
>> plot(-3:0.01:3,cos(-3:0.01:3))
>> subplot(2,2,3);
>> plot(-3:0.01:3,-3:0.01:3)
>> subplot(2,2,4);
>> plot(-3:0.01:3,(-3:0.01:3).^2)
结果: