【发布时间】:2016-04-06 10:31:24
【问题描述】:
我想知道是否有人知道如何为以下代码的曲线下区域着色。我尝试使用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])
【问题讨论】:
-
直截了当...只需将
plot替换为area即可得到area(a,Mu)行。这可以在documentation 中找到,如下所示:«area(X,Y)对于向量X和Y,area(X,Y)与plot(X,Y)相同,除了0和@987654334 之间的区域@ 已填充。» -
@Matt 删除
plot调用不是正确的通用答案,如果用户想要对边界做一些“特殊”的事情。 OP已经尝试过area,所以她并不是不知道该功能的存在...... -
@excaza 当然,如果 OP 需要
plot,她需要在hold on之后调用area,或者先绘制区域然后绘制线条。她尝试了area(Mu),但没有尝试area(a,Mu)……这就是为什么使用replace这个词来强调论点完全相同的原因。引用也与此相对应。 -
@Matt 告诉他们从代码中删除与所问问题无关的函数,因此 伤害 他们的函数,不如向他们解释为什么他们已经尝试过没有像他们预期的那样工作。
-
@excaza 我不同意它损害该功能,因为我假设 OP 知道如何在需要时再次画线。我想用我的第一条评论表达的唯一一件事就是对
area使用与plot相同的参数。我同意我可以解释为什么它会导致错误的结果。即因为x轴不匹配。顺便说一句:我也同意this 评论。