matlab中plot的一些用法

文章目录

一、基本用法

matlab 复制代码
x = 0:0.1:10;
y = sin(x);
plot(x, y); % 绘制 x 对 y 的图

二、绘制多个数据集

matlab 复制代码
y1 = sin(x);
y2 = cos(x);
plot(x, y1, x, y2); % 在同一图中绘制两条曲线

三、设置线型、颜色

matlab 复制代码
plot(x, y, '-r*'); % 使用红色实线和星号标记绘制曲线

常见线型、颜色和标记的选项:

线型:'-' (实线), '--' (虚线), ':' (点线), '-.' (点划线)

颜色:'r' (红色), 'g' (绿色), 'b' (蓝色), 'k' (黑色), 'y' (黄色), 'm' (洋红), 'c' (青色)

标记:'+', 'o', '*', '.', 'x', 's', 'd', '^', 'v', '>', '<', 'p', 'h'

四、添加标题和标签

matlab 复制代码
plot(x, y);
title('Sine Wave'); % 添加标题
xlabel('x'); % 添加 x 轴标签
ylabel('sin(x)'); % 添加 y 轴标签

五、添加图例

matlab 复制代码
plot(x, y1, x, y2);
legend('sin(x)', 'cos(x)'); % 添加图例

六、设置轴范围

matlab 复制代码
plot(x, y);
axis([0 10 -1 1]); % 设置 x 轴范围为 [0, 10],y 轴范围为 [-1, 1]

七、绘制网格

matlab 复制代码
plot(x, y);
grid on; % 显示网格
grid off; % 隐藏网格

八、 在同一图中绘制多个子图

matlab 复制代码
subplot(2, 1, 1); % 创建 2 行 1 列的第一个子图
plot(x, y1);
title('Sine Wave');

subplot(2, 1, 2); % 创建 2 行 1 列的第二个子图
plot(x, y2);
title('Cosine Wave');

九、绘制带误差条的图

matlab 复制代码
y = sin(x);
e = 0.1 * rand(size(x)); % 误差
errorbar(x, y, e); % 带误差条的图

十、绘制半对数图和对数图

matlab 复制代码
semilogx(x, y); % x 轴为对数刻度
semilogy(x, y); % y 轴为对数刻度
loglog(x, y); % x 和 y 轴均为对数刻度

十一、绘制填充区域图

matlab 复制代码
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);
fill([x fliplr(x)], [y1 fliplr(y2)], 'r'); % 填充 sin(x) 和 cos(x) 之间的区域

十二、综合案例

matlab 复制代码
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);

subplot(2, 1, 1);
plot(x, y1, '-r*'); % 使用红色实线和星号标记绘制 sin(x)
title('Sine Wave');
xlabel('x');
ylabel('sin(x)');
legend('sin(x)');
grid on;

subplot(2, 1, 2);
plot(x, y2, '--bo'); % 使用蓝色虚线和圆圈标记绘制 cos(x)
title('Cosine Wave');
xlabel('x');
ylabel('cos(x)');
legend('cos(x)');
grid on;

以上代码运行后结果:

相关推荐
SmartRadio6 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion6 小时前
QT5.7.0编译移植
开发语言·qt
rit84324996 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人7 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest7 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
不知道累,只知道类8 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
国强_dev8 小时前
Python 的“非直接原因”报错
开发语言·python
YMatrix 官方技术社区8 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
suoge2238 小时前
六面体传热单元Matlab有限元编程:三大类边界条件(上篇)| 固定温度边界条件 | 表面热通量边界条件 | 热对流边界条件)
matlab·有限元编程·传热有限元·热传导有限元·六面体热单元·边界条件·对流换热