Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Make a Smoother or Rougher Plot - Wolfram Mathematica

Точные и приближенные графики

Mathematica предоставляет Вам возможность тонко настраивать уровень детализации Ваших графиков. Для получения грубого наброска, Вы можете дать команду Mathematica использовать меньше точек для построения графика. Чем больше точек содержит Ваш график, тем более точным будет результат.

Для начала построим график простой функции:

In[1]:=

MakeASmootherOrRougherPlotRU_1.gif

Out[1]=

MakeASmootherOrRougherPlotRU_2.gif

Зададим значение All для опции MakeASmootherOrRougherPlotRU_3.gif, чтобы отобразить контрольные точки, по умолчанию используемые Mathematica для построения грифика:

In[2]:=

MakeASmootherOrRougherPlotRU_4.gif

Out[2]=

MakeASmootherOrRougherPlotRU_5.gif

Вы можете изменить количество используемых для построения графика контрольных точек при помощи опции PlotPoints. Опция MaxRecursion о пределяет сколько рекурсивных подмножеств может быть создано:

In[6]:=

MakeASmootherOrRougherPlotRU_6.gif

Out[6]=

Установка высоких значений для опций PlotPoints и MaxRecursion делает картинку очень точной, принося в жертву скорость ее построения. Функция AbsoluteTiming выводит на экран время (в секундах) требуемое для вычисления:

In[4]:=

MakeASmootherOrRougherPlotRU_8.gif

Out[4]=

MakeASmootherOrRougherPlotRU_9.gif

Меньшие значение для опций PlotPoints и MaxRecursion дают более грубый результат, однако намного быстрее:

In[5]:=

MakeASmootherOrRougherPlotRU_10.gif

Out[5]=

MakeASmootherOrRougherPlotRU_11.gif

Вы можете получить вводящие в заблуждение результаты если значения этих параметров плохо подобраны. В этом примере используемые по умолчанию настройки Mathematica обеспечивают точный график:

In[6]:=

MakeASmootherOrRougherPlotRU_12.gif

Out[6]=

MakeASmootherOrRougherPlotRU_13.gif

Слишком низкое значение для опции PlotPoints приводит к недостоверному результату:

In[7]:=

MakeASmootherOrRougherPlotRU_14.gif

Out[7]=

MakeASmootherOrRougherPlotRU_15.gif

Вы можете попробовать компенсировать низкое значение параметра PlotPoints путем увеличения параметра MaxRecursion, но зачастую это приводит к увеличению времени вычисления и,  к тому же, не гарантирует точность результата:

In[8]:=

MakeASmootherOrRougherPlotRU_16.gif

Out[8]=

MakeASmootherOrRougherPlotRU_17.gif