- Matlab教程
- MATLAB - 主页
- MATLAB - 概述
- MATLAB - 环境设置
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - M 文件
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 决策
- MATLAB - 循环
- MATLAB - 向量
- MATLAB - 矩阵
- MATLAB - 数组
- MATLAB - 冒号表示法
- MATLAB - 数字
- MATLAB - 字符串
- MATLAB - 函数
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB 高级版
- MATLAB - 绘图
- MATLAB - 图形
- MATLAB - 代数
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 集成
- MATLAB - 多项式
- MATLAB - 变换
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB 有用资源
- MATLAB - 快速指南
- MATLAB - 有用的资源
- MATLAB - 讨论
MATLAB - 绘图
要绘制函数图,您需要执行以下步骤 -
通过指定要绘制函数的变量x的值范围来定义x
定义函数y = f(x)
调用绘图命令,如plot(x, y)
下面的例子将演示这个概念。让我们针对 x 的取值范围从 0 到 100(增量为 5)绘制简单函数y = x 。
创建一个脚本文件并输入以下代码 -
x = [0:5:100]; y = x; plot(x, y)
当您运行该文件时,MATLAB 显示以下图 -
让我们再举一个例子来绘制函数 y = x 2。在这个例子中,我们将绘制两个具有相同功能的图形,但在第二次时,我们将减少增量的值。请注意,当我们减少增量时,图形会变得更加平滑。
创建一个脚本文件并输入以下代码 -
x = [1 2 3 4 5 6 7 8 9 10]; x = [-100:20:100]; y = x.^2; plot(x, y)
当您运行该文件时,MATLAB 显示以下图 -
稍微更改一下代码文件,将增量减少到 5 -
x = [-100:5:100]; y = x.^2; plot(x, y)
MATLAB 绘制更平滑的图形 -
在图表上添加标题、标签、网格线和缩放
MATLAB 允许您添加标题、沿 x 轴和 y 轴的标签、网格线,还可以调整轴以美化图形。
xlabel和ylabel命令沿 x 轴和 y 轴生成标签。
标题命令允许您在图表上添加标题。
grid on命令允许您将网格线放在图表上。
axis equal命令允许生成具有相同比例因子和两个轴上的空间的绘图。
axis square命令生成方形图。
例子
创建一个脚本文件并输入以下代码 -
x = [0:0.01:10]; y = sin(x); plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'), grid on, axis equal
MATLAB 生成以下图表 -
在同一个图上绘制多个函数
您可以在同一个图上绘制多个图形。下面的例子演示了这个概念 -
例子
创建一个脚本文件并输入以下代码 -
x = [0 : 0.01: 10]; y = sin(x); g = cos(x); plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLAB 生成以下图表 -
在图表上设置颜色
MATLAB 提供了八种用于绘制图形的基本颜色选项。下表显示了颜色及其代码 -
代码 | 颜色 |
---|---|
w | 白色的 |
k | 黑色的 |
乙 | 蓝色的 |
r | 红色的 |
C | 青色 |
G | 绿色的 |
米 | 品红 |
y | 黄色的 |
例子
让我们画两个多项式的图
f(x) = 3x 4 + 2x 3 + 7x 2 + 2x + 9 且
g(x) = 5x 3 + 9x + 2
创建一个脚本文件并输入以下代码 -
x = [-10 : 0.01: 10]; y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9; g = 5 * x.^3 + 9 * x + 2; plot(x, y, 'r', x, g, 'g')
当您运行该文件时,MATLAB 会生成以下图表 -
设置轴比例
axis命令允许您设置轴比例。您可以通过以下方式使用 axis 命令提供 x 和 y 轴的最小值和最大值 -
axis ( [xmin xmax ymin ymax] )
下面的例子展示了这一点 -
例子
创建一个脚本文件并输入以下代码 -
x = [0 : 0.01: 10]; y = exp(-x).* sin(2*x + 3); plot(x, y), axis([0 10 -1 1])
当您运行该文件时,MATLAB 会生成以下图表 -
生成子图
当您在同一图中创建一组图时,每个图都称为子图。subplot命令用于创建子图。
该命令的语法是 -
subplot(m, n, p)
其中,m和n是绘图数组的行数和列数,p指定放置特定绘图的位置。
使用 subplot 命令创建的每个图都可以有自己的特征。以下示例演示了这个概念 -
例子
让我们生成两个图 -
y = e −1.5x sin(10x)
y = e −2x sin(10x)
创建一个脚本文件并输入以下代码 -
x = [0:0.01:5]; y = exp(-1.5*x).*sin(10*x); subplot(1,2,1) plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1]) y = exp(-2*x).*sin(10*x); subplot(1,2,2) plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])
当您运行该文件时,MATLAB 会生成以下图表 -