0
我试图填充水平线和曲线之间的区域。我遵循this中的说明。 2条曲线是在Matlab中填充函数2017不起作用
代码我使用以生成所述图形是
alpha = [0:0.01:1];
mu = 1;
V = [0:0.01:10];
Lambda1 = 2;
y2 = (1./(mu-alpha*Lambda1)+2*alpha*Lambda1./((mu-alpha*Lambda1).^2)).*(alpha<=0.3)+max(V).*(alpha>0.3);
f0 = max(V).*ones(1,length(alpha));
A = [alpha,fliplr(alpha)];
Y1 = [f0,fliplr(y2)];
figure
h1 = fill(A,Y1,'k'),axis([0 1 0 11]),
set(h1, 'FaceAlpha', 0.1)
的想法是,alpha
是运行变量,即,横轴。蓝色曲线是一个分段函数,即在alpha=0.3
之前,它是一个四元函数,在alpha=0.3
之后,它保持为10.基本上,我想要有0<=alpha<=0.3
的阴影区域。
我以为我的上面的代码可以工作,因为我想我明白fill
函数是如何工作的。 fill(x,y,'r')
中的x,y
是代表2D空间中共享边界坐标的2个向量。
我不知道为什么在我的情况下,它不工作...
非常感谢你!我原来并没有意识到这一点。我知道我的'y2'的第一部分在'alpha = 0.5'处具有奇点。但我认为这不应该是一个问题,因为我有一个指示器函数'(alpha <= 0.3)'。现在显然matlab不按我想的那样进行计算。我现在了解它。 –