在曲线下方的x轴上方填充区域

时间:2014-03-09 20:28:18

标签: matlab

我想填写x轴上方,曲线下方的区域。我尝试过使用:补丁,填充和区域,但所有这些都会导致区域在曲线下方的x轴上方以及x轴下方和曲线上方的区域中填充。考虑这个例子:

t = 1:1024;
y = sin(t);
area(t, y)
axis([0,50,-2,2]);

我只希望顶部的摆动是阴影,而不是x = 0以下的底部摆动。

我看到一些代码定义了两条边界曲线,但这也没有用。我仍然得到与面积,补丁和填充相同的结果。代码是:

x = linspace(kokler(1),kokler(2)); % 100 points between intersections  
yy1 =x.^2; %lower function
yy2 = -(x.^2-16); % upper function
x = [x,x];        % repeat x values
yy = [yy1,yy2];   % vector of upper & lower boundaries
fill(x,yy,'b')    % fill area defined by x & yy in blue

可以对这些进行任何修改吗?

1 个答案:

答案 0 :(得分:2)

试试这个

figure,
t = 1:0.1:10*pi;
y = sin(t);
plot(t, y);

hold on;
y2 = y;
y2(y2 < 0) = 0;

area(t, y2);