如何在 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
最佳答案
Matlab 是一个数值计算环境,因此您需要在绘图时告诉它您要查找的内容。
在第一个示例中,您需要告诉它要绘制哪些 Y 值。由于 X 始终相同,因此您知道它将是一条线 - 因此两个点就足够了。绘图需要并行数组,因此:
函数 1: x = [-3 -3]; y = [10 14];绘图(x,y);
要在同一图形上绘制其他线条,请使用命令hold on
,该命令适用于您刚刚绘制的图形。如果您不这样做,新的绘图命令将删除旧的绘图。
同样,
函数 2: x = [-5 4]; y=-2*x;绘图(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。假设您想将其绘制在同一个图表上,并且您已经坚持
了。您想要不同的颜色,并且想要显示构成线条的各个点,可以使用绘图函数的第三个参数:
函数4: x = -1:0.1:1; y = 4 * 个(长度(x));绘图(x,y,'-r。');
此处的第二个命令,y = 4 * Ones(length(x));
只是创建一个与 x 长度相同的 y 向量。
关于MATLAB:如何在同一张图上绘制多个函数的图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454977/