当前位置:服务支持 >  软件文章 >  MATLAB科学绘图函数与方法全集

MATLAB科学绘图函数与方法全集

阅读数 6
点赞 0
article_banner

要使用plot函数来绘制图形,需要执行以下步骤:

  • 通过指定要绘制函数的变量x的值的范围来定义x

  • 定义函数,y = f(x)

  • 调用plot命令,如下:plot(x,y)

以下示例将演示该概念。下面绘制x的值范围是从0100,使用简单函数y = x,增量值为5

创建脚本文件并键入以下代码 -

x = [0:5:100];
y = x;
plot(x, y)

执行上面示例代码,得到以下结果 -

Matlab绘图的图1

下面再来一个例子来绘制函数y = x^2。 在这个例子中,将绘制两个具有相同函数的图,但是在第二次,将减小增量的值。请注意,当减少增量时,图形变得更平滑。

创建脚本文件并键入以下代码 -

x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:10:100];
y = x.^2;
plot(x, y)

执行上面示例代码,得到以下结果 -

Matlab绘图的图2

更改代码,减少增量为2 -

Matlab绘图的图3

在图上添加标题,标签,网格线和缩放

MATLAB允许沿x轴和y轴,网格线添加标题,标签,并且还可以调整轴来绘制图形。

  • xlabelylabel命令沿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生成以下图表 -

Matlab绘图的图4

在同一个图上绘制多个函数

可以在同一个图上绘制多个图形。以下示例演示了这一概念 -

示例

创建脚本文件并键入以下代码 -

x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')

MATLAB生成以下图表 -

Matlab绘图的图5

在图上设置颜色

MATLAB提供了八个基本的颜色选项来绘制图形。 下表显示了颜色及其代码 -

代码 颜色
w White
k Black
b Blue
r Red
c Cyan
g Green
m Magenta
y Yellow

示例

下面我们来绘制两个多项式的图形 -

Matlab绘图的图6

创建脚本文件并键入以下代码 -

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生成以下图表 -

Matlab绘图的图7

设置轴刻度

axis命令用来设置轴刻度。可以通过以下方式使用axis命令为xy轴提供最小和最大值:

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生成以下图表 -

Matlab绘图的图8

生成子图

当在同一个图中创建一个绘图数组时,这些图中的每一个图称为子图。 subplot命令用于创建子图。

该命令的语法是 -

subplot(m, n, p)

其中,mn是绘图数组的行数和列数,p表示放置指定图形的位置。

使用subplot命令创建的每个曲线都可以有自己的特点。 以下示例演示了这一概念 -

示例

下面示例将生成两个区域块 -

Matlab绘图的图9

创建脚本文件并键入以下代码 -

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绘图的图10

来源: MATLAB基于模型的设计


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空