MATLAB绘图(Plotting)

/ / MATLAB绘图(Plotting)

要绘制函数图,您需要执行以下步骤-

以下示例将演示该概念。让我们用简单的函数 y=x 绘制x的值范围(从0到100),增量为5。

创建一个脚本文件并输入以下代码-

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

运行文件时,MATLAB显示以下图-

Plotting y=x

让我们再举一个例子来绘制函数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显示以下图-

Plotting y=x^2

稍微更改代码文件,将增量减少到5-

x=[-100:5:100];
y=x.^2;
plot(x, y)

MATLAB绘制更平滑的图形-

Plotting y=x^2 with less increment

标题,标签,网格线和缩放

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

无涯教程网

Sprucing up our graphs

绘制多个函数

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

创建一个脚本文件并输入以下代码-

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

MATLAB生成以下图形-

无涯教程网

Multiple Functions on the Same Graph

设置颜色

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

代码 颜色
w 白色
k 黑色
b 蓝色
r 红色
c 青色
g 绿色
m 洋红色
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生成以下图形-

无涯教程网

Colors on Graph

设置轴比例

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

生成子图

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

数据分析思维课 -〔郭炜〕

讲好故事 -〔涵柏〕

说透芯片 -〔邵巍〕

容器实战高手课 -〔李程远〕

Linux内核技术实战课 -〔邵亚方〕

职场求生攻略 -〔臧萌〕

架构实战案例解析 -〔王庆友〕

JavaScript核心原理解析 -〔周爱民〕

Web协议详解与抓包实战 -〔陶辉〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者