MATLAB:如何在同一图表上绘制多个函数?

时间:2013-05-09 05:26:18

标签: matlab function math graph plot

如何在具有域和范围限制的MATLAB上绘制相同图形/绘图/笛卡尔平面上的多个函数?

例如,我在下面编写了以下功能。如何在MATLAB中的同一图表上绘制以下图表?

Function 1: x = -3 for 10 <= y <= 14
Function 2: y = -2x for -5 <= x <= -4
Function 3: (x-0)^2 + (y-12)^2 = 2.25 // Produces a circle
Function 4: y = 4 for -1 <= x <= 1

1 个答案:

答案 0 :(得分:4)

Matlab是一个数值计算环境,所以你需要在绘图时告诉它你在寻找什么。

对于您的第一个示例,您需要告诉它要绘制哪些Y值。由于X始终是相同的,你知道它将是一条线 - 所以两点就足够了。 Plot需要并行数组,所以:

功能1: x = [-3 -3]; y = [10 14]; plot(x, y);

要在同一图表上绘制其他线条,请使用命令hold on,该命令适用于您刚刚绘制的图形。如果不这样做,新的绘图命令将删除旧图。

同样,

功能2: x = [-5 4]; y = -2*x; plot(x, y);

对于像#3这样的圆圈/省略号,ezplot可能会有所帮助,但您仍需指定范围。

功能3: ezplot('x^2 + (y-12)^2 - 2.25', [-3,3,10,14])

最后一个很容易,但是我们说这是一条曲线。您想要绘制的不只是两个x值。您可以从以下范围创建矢量:x = -1:0.1:1;,或者从-1到1的均匀空间点集,间隔为0.1。假设您想在同一图表上绘制它,并且您已经完成了hold on。你想要一个不同的颜色,并且你想要显示构成该线的各个点,你可以使用第三个参数来绘制函数:

功能4: x = -1:0.1:1; y = 4 * ones(length(x)); plot(x, y, '-r.');

这里的第二个命令y = 4 * ones(length(x));只是创建一个与x长度相同的y向量。