我想绘制以下函数:
我试过这段代码:
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])
但它给我的错误是矢量必须是相同的长度。如何解决此错误?
答案 0 :(得分:1)
问题是matlab不理解y1=-3
对x1
的每个值都是-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)