Как я могу построить интервальную функцию в Mathematica? - PullRequest
3 голосов
/ 02 декабря 2011

Рассмотрим следующее определение:

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}}];<br> Plot[ {f[x] /. Interval[a_] :> a[[1]], f[x] /. Interval[a_] :> a[[2]]},<br> {x, 0, 1}, Filling -> {1 -> {2}}]

тогда на графике изображен сегмент при x = 1/2, который равен значению [0,1] вместо [1 / 2,1].

1 Ответ

3 голосов
/ 03 декабря 2011

Может быть, вы могли бы сделать что-то вроде

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

...