考虑以下定义:
f[x_]=Piecewise[{{0,x<1/2},{Interval[{0,1}],x==1/2},{1,x>1/2}}];
然后当一个人执行函数的Plot[f[x],{x,0,1}]
时,图表不会描绘图表的区间值f[1/2]
。
关于如何在 Mathematica 中绘制区间值函数的任何想法都将非常感激。
更新#1:我发现了一个黑客:
Plot[ f[x], {x,0,1}, ExclusionsStyle->Opacity[1]];
f[x_]=Piecewise[{{0,x<1/2},{Interval[{0,1}],1/2<=x<=1}}];
这是问题的本质。
更新#2:
作为@Heike下面简洁例子的后续内容:它只是一个部分解决方案。如果尝试以下内容:
f[x_] = Piecewise[{{0, x < 1/2}, {Interval[{x, 1}], 1/2 <= x <= 1}}];
Plot[ {f[x] /. Interval[a_] :> a[[1]], f[x] /. Interval[a_] :> a[[2]]},
{x, 0, 1}, Filling -> {1 -> {2}}]
然后该图描绘了一个x = 1/2的段,它等于[0,1]而不是[1 / 2,1]。
答案 0 :(得分:3)
也许你可以做类似
的事情f[x_]=Piecewise[{{0,x<1/2},{Interval[{0,1}],1/2<=x<=1}}];
Plot[{f[x] /. Interval[a_] :> a[[1]],
f[x] /. Interval[a_] :> a[[2]]}, {x, 0, 1}, Filling -> {1 -> {2}}]