要绘制函数图,您需要执行以下步骤-
- 通过为变量 x 指定值的范围
定义 x ,为此函数绘制
定义函数 y=f(x)
以 plot(x,y)
以下示例将演示该概念。让我们用简单的函数 y=x 绘制x的值范围(从0到100),增量为5。
创建一个脚本文件并输入以下代码-
x=[0:5:100]; y=x; plot(x, y)
运行文件时,MATLAB显示以下图-
让我们再举一个例子来绘制函数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显示以下图-
稍微更改代码文件,将增量减少到5-
x=[-100:5:100]; y=x.^2; plot(x, y)
MATLAB绘制更平滑的图形-
标题,标签,网格线和缩放
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提供了八个基本的颜色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生成以下图形-
设置轴比例
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生成以下图形-
参考链接
https://www.learnfk.com/matlab/matlab-plotting.html
标签:plot,10,无涯,sin,MATLAB,图形,Plotting,axis From: https://blog.51cto.com/u_14033984/9345817