如何在mathematica中绘制区间值函数?

时间:2011-12-02 19:22:46

标签: wolfram-mathematica intervals

考虑以下定义:

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]];

然而, hack不适用于一般的区间值函数,例如

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]。

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}}]

plotting an interval