如何使用fill()函数填充正弦曲线?

时间:2017-11-05 02:09:13

标签: matlab graph graphics matlab-figure

x = [-pi/2:0.01:pi/2]';
y = (sin(x))';
plot(x,y)


h = fill(x,y,'r');
set(h,'facealpha',.5)

set(gca, 'XTick',-pi/2:pi/2:pi/2,'XTickLabel',{'-\pi/2','0','\pi/2'});
set(gca, 'YTick',0:1:1, 'YTickLabel',{'0','Fmax'});

text(0,0,'  O','HorizontalAlignment','left');

grid on

我试图填补曲线y = sin(x)和y = 0之间的空间。

我不知道该如何做到这一点,因为我已经尝试过的事情并没有做到这一点。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果您想使用fill,您需要通过添加两个返回起点的点来关闭多边形:

h = fill([x(:); x(end); x(1)],[y(:); 0; 0], 'r');

或者,更简单地说,使用area代替fill

h = area(x, y, 'FaceColor', 'r');