用matlab的plot函数在一张图上画出两个对比图像

我们在科研中经常会遇到需要做数据对比的情况,可以使用excel进行处理,但是excel作图比较麻烦,做的图也比较丑。所以考虑用matlab作图,第一比较学术,第二也比较好控制。

此处我们使用的案例是非典时期香港4月11日开始的新增患者数据,我们发现这个数据比较符合指数下降的趋势,因此采用指数模型对其进行解析式表达,这样我们就得到了两个数组,我们使用plot指令,采用hold的方式,就可以把两个图形画在同一个图形上了。当然,也可以使用1个plot命令。我们使用legend、xlabel、ylabel、title等命令定义图表的关键信息参数,就可以得到不错的曲线。

代码如下:

new_adder=[61	49	42	40	42	36	29	30	31	22	22	32	
MATLAB中,要在同一张上绘制两个坐标的值相差较大的函数图像,需要合理选择y轴的刻度范围,或者使用对数刻度。此外,还可以采用子(subplot)的方式来分别展示不同尺度的函数图像。以下是使用单个坐标轴绘制三个不同尺度函数图像的示例代码: ```matlab % 定义x的取值范围 x = linspace(0, 10, 1000); % 定义三个函数 y1 = sin(x); % 第一个函数 y2 = x.^2; % 第二个函数,可能的较大值 y3 = exp(0.5*x); % 第三个函数,可能的更大值 % 创建一个新的形窗口 figure; % 绘制第一个函数 subplot(3,1,1); % 将形区域分成3行1列,并在第一个区域绘制 plot(x, y1); title('函数1: sin(x)'); xlabel('x'); ylabel('y1'); % 绘制第二个函数 subplot(3,1,2); % 在第二个区域绘制 plot(x, y2); title('函数2: x^2'); xlabel('x'); ylabel('y2'); % 绘制第三个函数 subplot(3,1,3); % 在第三个区域绘制 plot(x, y3); title('函数3: exp(0.5*x)'); xlabel('x'); ylabel('y3'); % 调整布局以便更好地展示 tight_layout(); ``` 如果你希望三个函数能够在同一个坐标轴上显示,那么可以使用不同的线条样式和颜色,并且调整y轴的范围,使得所有函数图像都能被清楚地看到。这里提供一个示例: ```matlab % 绘制所有函数在同一个上 figure; plot(x, y1, 'r-', 'LineWidth', 2); % 使用红色实线 hold on; % 保持图像,为后续绘添加到当前图像plot(x, y2, 'b--', 'LineWidth', 1.5); % 使用蓝色虚线 plot(x, y3, 'g-.', 'LineWidth', 1); % 使用绿色点划线 % 添加例,说明各个线条 legend('sin(x)', 'x^2', 'exp(0.5*x)'); % 设置标题和坐标轴标签 title('三个函数图像'); xlabel('x'); ylabel('函数值'); % 调整y轴的范围以便更好地展示不同的函数图像 ylim([min([y1 y2 y3]) max([y1 y2 y3])]); % 重新调整布局 tight_layout(); ``` 在这两个示例中,`tight_layout()`是一个假设的函数,用来表示调整形布局以避免坐标轴标签、标题和例之的重叠,但在MATLAB中并没有直接的函数叫做`tight_layout()`。在实际操作中,可能需要手动调整形窗口的布局或者使用`axes`函数来手动设置坐标轴的位置和大小。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值