请帮我写一个MATLAB程序:已知y1=3x^2,y2=sin2*x +√x,y3=y1+y2,1.在同一个坐标系下用不同颜色,线宽均设置为1.5绘制3条曲线,并加上图例;2.在同一figure中以子图形式(subplot)绘制3条曲线
时间: 2024-09-25 12:21:03 浏览: 40
当然可以,这是一个简单的MATLAB程序示例,满足您的需求:
```matlab
% 定义变量 x 的范围
x = linspace(0, 4*pi, 100); % 创建100个等间距点
% 计算 y1, y2 和 y3
y1 = 3 * x.^2;
y2 = sin(2 * x) + sqrt(x);
y3 = y1 + y2;
% 创建一个新的figure
figure
% 第一部分:在一个坐标系下绘制三条曲线并添加图例
hold on % 保持当前图形状态以便于绘图
color1 = 'b'; % 蓝色
color2 = 'g'; % 绿色
color3 = 'r'; % 红色
plot(x, y1, color1, 'LineWidth', 1.5, 'DisplayName', 'y1 = 3x^2');
plot(x, y2, color2, 'LineWidth', 1.5, 'DisplayName', 'y2 = sin(2x) + √x');
plot(x, y3, color3, 'LineWidth', 1.5, 'DisplayName', 'y3 = y1 + y2');
legend('Location', 'best') % 添加图例
title('Three Curves in One Plot')
xlabel('x-axis')
ylabel('y-axis')
% 第二部分:以子图形式绘制
subplot(1, 3, 1) % 第一个子图
plot(x, y1)
title('y1 = 3x^2')
subplot(1, 3, 2) % 第二个子图
plot(x, y2)
title('y2 = sin(2x) + √x')
subplot(1, 3, 3) % 第三个子图
plot(x, y3)
title('y3 = y1 + y2')
% 关闭 hold 回到默认模式
hold off
% 显示所有内容
show
```
运行此代码,您将看到一个包含三条曲线的主图表以及它们各自的子图表。
阅读全文