在Matlab中绘制具有不同范围的函数

时间:2016-10-09 06:08:00

标签: matlab function

我想绘制以下函数:

g(x) with different ranges

我试过这段代码:

x = 0:0-1:4;
x1 = x(x<=-1);
x2 = x(x>-1 & x<=2);
x3 = x(x>2);
y1 = -3;
y2 = 1;
y3 = 4;
plot([x1 x2 x3], [y1 y2 y3])

但它给我的错误是矢量必须是相同的长度。如何解决此错误?

1 个答案:

答案 0 :(得分:1)

问题是matlab不理解y1=-3x1的每个值都是-3。它需要一个-3s的向量,其元素与x1一样多。

定义此类向量的一种方法如下:

x = -4:0.1:4;
x1 = x(x<=-1);
y1 = -3*ones(1,numel(x1));

这样你就可以用以下方式绘制你想要的东西(试一试后看看它):

  

图;坚持到  x = -4:0.1:4;
 x1 = x(x <= - 1);
 y1 = -3 * 1(1,numel(x1));
 图(X1,Y1)

 x2 = x(x> -1&amp; x <= 2);
 
 y2 = 1(1,numel(x2));
 图(x2,y2)

 x3 = x(x> 2);
 y3 = 4 * 1(1,numel(x3));
 情节(X3,Y3)