【matlab】基础绘图
要绘制函数的图形,需要执行以下的步骤:
- 通过制定变量x的值的范围来定义x,为此函数将绘制出来。
- 定义函数y=f(x)。
- 通过调用plot命令,plot(x,y)来完成绘制。
下面我们通过例子一一来看。
基础的图形绘制
例1
首先我们来绘制一个简单的函数,x的取值范围是0到100,增量为5。
x = [0:5:100];
y = x;
plot(x, y)
例2
接下来我们来绘制函数
y
=
x
2
y=x^2
y=x2
首先,我们令x的取值范围为-100到100,增量为20.
x = [-100:20:100];
y = x.^2;
plot(x, y)
然后,接下来我们来减少x的增量,变为5.
x = [-100:5:100];
y = x.^2;
plot(x, y)
我们会发现第二次的曲线更加的圆滑。
这是因为在作图的过程中,首先会根据我们给定的点,确定他们的函数值,那么最后是将这些确定在二维面上的点进行连接的,所以如果在相同的范围下,我们给出的点越多,那么曲线一定会越圆滑。
在图形上添加标题,标签,网格线和缩放
MATLAB 允许添加标题、沿 x 轴和 y 轴的标签、网格线,并且还可以调整轴以使图形更漂亮。
-
xlabel 和 ylabel 命令产生沿x轴和y轴的标签。
-
title 命令允许您在图形上放置标题。
-
grid on 命令允许您将网格线放在图形上。
-
axis equal 命令允许使用相同的比例因子和两个轴上的间距生成图。
-
axis square 命令生成一个正方形图。
例3
接下来我们来看加入x轴y轴信息以及网格线的绘图。
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal
x的增量为0.01,会使得绘制出的曲线尽可能圆滑。
然后在绘制图形的时候,我们加入了x轴的标签为x
,y轴的标签为y
,该图的标题为Sin(x) Graph
然后加入了网格线,以及x、y的比例相同。
下面详细说明一下axis equal的作用。
默认情况下,MATLAB 会根据数据的范围自动调整 x 轴和 y 轴的比例,以充分利用绘图区域。这种自动调整有时会导致图形的形状失真。例如,如果你绘制一个圆形,它可能会看起来像椭圆。
使用 axis equal 后,MATLAB 会强制调整绘图比例,使得 x 轴和 y 轴单位长度相等。这样,图形的几何形状(例如圆形、正方形)在显示时不会失真。
比如当我们来绘制一个圆形时,如下% 绘制一个圆形 theta = linspace(0, 2*pi, 100); x = cos(theta); y = sin(theta); figure; plot(x, y); % 默认显示 title('默认比例'); figure; plot(x, y); axis equal; % 强制等比例 title('使用 axis equal');
对比如下:>
未使用 axis equal 时,圆可能会看起来像椭圆。
使用 axis equal 后,圆的形状会恢复为真正的圆形。
axis equal 的工作原理
axis equal 的作用是控制绘图区的刻度比例,而不是数据范围。具体来说:
它会调整 x 轴和 y 轴的刻度范围,使得单位长度的物理显示长度相等。
数据范围(xlim 和 ylim)不会改变,但绘图区的显示比例会被调整。
在一个图形上绘制多个函数
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
在同一个图上绘制出了x与y的关系,以及x与g的关系。
然后对于第二条曲线有.-
这样的绘图样式。
'.-'
- 用点(.)标记数据点。
- 用实线(-)连接数据点。
legend
是 用于为图形添加图例的,
- ‘Sin(x)’ 表示第一条曲线的名称(对应 plot(x, y))。
- ‘Cos(x)’ 表示第二条曲线的名称(对应 plot(x, g))。
在图形上设置颜色
MATLAB提供了八种基本的颜色选项来绘制图形。
代码 | 颜色 |
---|---|
w | 白色 |
k | 黑色 |
b | 蓝色 |
r | 红色 |
c | 青色 |
g | 绿色 |
m | 洋红色 |
y | 黄色 |
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')
第一条x与y的曲线是红色的,第二条x与g的曲线是绿色的。
设定轴比例
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])
x的范围是0到10,y的范围是-1 到1。
这个命令的作用为:
- 控制显示范围
这个命令允许你手动设置 x 轴和 y 轴的显示范围,而不依赖 MATLAB 的自动调整功能。
例如,如果你的数据范围很大,但你只希望观察某个特定区域,可以通过 axis 来限制显示范围。x = 0:0.1:10; y = sin(x); plot(x, y); % 设置 x 轴范围为 [2, 8],y 轴范围为 [-0.5, 0.5] axis([2 8 -0.5 0.5]);
- 放大或缩小某个区域
通过缩小坐标轴范围,可以放大图形中的某个感兴趣的部分。
通过扩大坐标轴范围,可以显示更多的内容,甚至包括原始数据之外的区域。x = -10:0.1:10; y = sin(x); plot(x, y); % 放大 x 轴范围为 [-2, 2] 的区域 axis([-2 2 -1 1]);
原文地址:https://blog.csdn.net/2302_76305195/article/details/145272963
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!