我得到了:
x=2:0.1:10
y=sin(x(
并被要求绘制此函数,并为x轴上方的sin填充绿色,为x轴下方的sin添加品红色。
由于我们刚开始使用matlab,所以着色不一定要精确,但应该覆盖函数和轴之间的大部分区域。
我的问题是,为什么这是正确的:
填充([2 2 2.6 pi],[0 sin(2(sin(2.6(0],'g'(;
为什么我必须为x值输入两个2,为什么y值以0开始和结束?
我发现很难理解这些数字是从哪里来的,因为对于第二个领域,
fill([pi 3.9 3*pi/2 5.5 2*pi],[0 sin(3.9(-1 sin(5.5(0],'m'(;
我不会为x值输入两次相同的数字,但仍必须为y值输入零。
如果有人能解释如何以及为什么选择这些数据,我将不胜感激。
只要这些示例的作者选择绘制垂直边,就会出现重复的x
值(根据定义,垂直意味着x不变(。只要作者选择一直填充到x轴,就没有y
值(根据定义,y值为0(。或者在第二个例子中,向上。
要看到这一点,对于您的每个示例,取x值和y值,并将它们视为一系列x,y对,如下所示(在第一个示例中(:
>> [x(:), y(:)]
ans =
2.0000 0
2.0000 0.9093
2.6000 0.5155
3.1416 0
现在了解每一行都会为您提供正在填充的多边形的一个顶点的坐标。将每个坐标点与绘制的图形进行比较。
如果练习的对象总是填充到x轴,那么通常您会期望在开始和结束时重复x
值,但在您给出的两个特定的示例中,y
似乎已经变为零(在第一个示例的结尾,以及第二个示例的开始和结尾(。在x轴上绘制额外的零长度边是允许的(也许更一致,不那么令人困惑(,但这是多余的,作者选择省略它们。
第一个字段用于所有x值,第二个字段用于全部y值。这些值形成有序对,用于定义要填充的形状的角的坐标。
例如,您的第二个示例
fill([pi 3.9 3*pi/2 5.5 2*pi],[0 sin(3.9(-1 sin(5.5(0],'m'(;
有角
- (pi,0(
- (3.9,罪(3.9((
- (3*pi/2,-1(
- (5.5,sin(5.5((
- (2*pi,0(