我想知道是否有人知道如何为下面的代码着色曲线下方的区域。我尝试使用area(Mu)
,但这会返回与图表略有不同的阴影区域。
n=1;
a=[0:0.001:4];
A=(a.*n);
B=(n-n.*a);
C=(1-n);
Mu=(-B+sqrt((B.^2)-(4.*A.*C)))./(2.*A);
plot(a,Mu)
xlim([0 4])
ylim([0 .8])
答案 0 :(得分:4)
你快到了。 area(Mu)
使用默认值,在这种情况下,它实际执行area([1:length(Mu)],Mu)
。这会给您带来不希望的结果,而area(a,Mu)
与plot(a,Mu)
相同,只是填充0和Mu之间的区域。
使用area(a,Mu)
。然后在区域顶部绘制线条,或者只更改区域的边缘。见下面的例子:
n=1;
a=[0:0.001:4];
A=(a.*n);
B=(n-n.*a);
C=(1-n);
Mu=(-B+sqrt((B.^2)-(4.*A.*C)))./(2.*A);
area(a,Mu)
hold on
xlim([0 4])
ylim([0 .8])
plot(a,Mu)