自学内容网 自学内容网

【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)!