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;

以上代码运行后结果:

相关推荐
殳翰3 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星3 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere3 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
2601_961593424 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust
HZZD_HZZD4 小时前
DL/T 645-2026新国标深度解读与智能电表协议适配实战:从帧结构变化到Java采集器升级的全链路改造方案
java·开发语言
多加点辣也没关系7 小时前
JavaScript|第4章:类型转换
开发语言·javascript
聪慧的水蜜桃7 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
yqcoder7 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
wuqingshun3141598 小时前
重写equals而不重写hashCode,会出什么问题?
java·开发语言
飞猪~8 小时前
LangChain python 版本 第一集
开发语言·python·langchain