Matlab绘图
要使用plot
函数来绘制图形,需要执行以下步骤:
通过指定要绘制函数的变量
x
的值的范围来定义x
。定义函数,
y = f(x)
调用
plot
命令,如下:plot(x,y)
以下示例将演示该概念。下面绘制x
的值范围是从0
到100
,使用简单函数y = x
,增量值为5
。
创建脚本文件并键入以下代码 -
x = [0:5:100]; y = x; plot(x, y)
执行上面示例代码,得到以下结果 -
下面再来一个例子来绘制函数y = x^2
。 在这个例子中,将绘制两个具有相同函数的图,但是在第二次,将减小增量的值。请注意,当减少增量时,图形变得更平滑。
创建脚本文件并键入以下代码 -
x = [1 2 3 4 5 6 7 8 9 10]; x = [-100:10:100]; y = x.^2; plot(x, y)
执行上面示例代码,得到以下结果 -
更改代码,减少增量为2
-
在图上添加标题,标签,网格线和缩放
MATLAB允许沿x
轴和y
轴,网格线添加标题,标签,并且还可以调整轴来绘制图形。
xlabel
和ylabel
命令沿x
轴和y
轴生成标签。title
命令用于在图表上设置标题。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 |
White |
k |
Black |
b |
Blue |
r |
Red |
c |
Cyan |
g |
Green |
m |
Magenta |
y |
Yellow |
示例
下面我们来绘制两个多项式的图形 -
创建脚本文件并键入以下代码 -
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
命令创建的每个曲线都可以有自己的特点。 以下示例演示了这一概念 -
示例
下面示例将生成两个区域块 -
创建脚本文件并键入以下代码 -
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基于模型的设计