Начало изучения графиков и функций требует большого количества графиков. Поэтому я подумал о загрузке утилиты для рисования графиков, но в программе, которую я скачал, не было опции, позволяющей нам видеть нанесенные точки. Пример: лучший, который я мог найти, был Graph:
сама документация по использованию графа содержит меньше информации. Я хотел бы, по крайней мере, визуализировать нанесенные точки на кривой или найти такие вещи, как вершины и другую важную информацию, без особых усилий с помощью утилиты. Есть ли какое-либо программное обеспечение с открытым исходным кодом, которое позволило бы мне это сделать? Или это функция, скрытая в «Графике» (программном обеспечении), о которой я не знаю? Я ищу платформу Windows (7), было бы лучше, если бы программное обеспечение было бесплатным или открытым исходным кодом, пожалуйста, укажите инструкции о том, как можно включить вышеупомянутые функции?
ИМХО, другие ответы не совсем нацелены на вопрос: они больше сосредоточены на предложении (отличных) инструментов для построения точечных данных, а не на символических функциях.
Я хотел бы, по крайней мере, визуализировать нанесенные точки на кривой или найти такие вещи, как вершины и другую важную информацию, без особых усилий с помощью утилиты. Есть ли какое-либо программное обеспечение с открытым исходным кодом, которое позволило бы мне это сделать?
Я предлагаю вам попробовать Sage . С сайта:
SageMath — это бесплатная математическая программная система с открытым исходным кодом , распространяемая под лицензией GPL. Он основан на многих существующих пакетах с открытым исходным кодом: NumPy , SciPy , matplotlib , Sympy , Maxima , GAP , FLINT , R и многих других. Получите доступ к их объединенным возможностям через общий язык на основе Python или напрямую через интерфейсы или оболочки.
Миссия: Создание жизнеспособной бесплатной альтернативы Magma, Maple, Mathematica и Matlab с открытым исходным кодом .
Sage — один из лучших программных пакетов с открытым исходным кодом для работы с символьными функциями. Он работает на Linux и OS X, но нет родной версии для Windows. Пользователи Windows могут загрузить предварительно созданную виртуальную машину или использовать веб-приложение Sage Math Cloud . Базовые учетные записи с большим количеством аппаратных ресурсов бесплатны.
Предполагая, что вы хотите построить:
Делать:
f(x) = sin(x)*cos(x/pi)
plot(f, (x, -5, 5))
Вы получите этот вывод:
Примечание: если вы хотите использовать другие символьные переменные, вам нужно сначала определить их, потому что only x
является встроенным. Например:
var('y z a b c d')
Если вы хотите, чтобы Sage сэмплировал некоторые точки , вы можете сделать это следующим образом:
from sage.plot.plot import generate_plot_points
f(x) = sin(x)*cos(x/pi)
g = plot(f, (x, -5, 5))
points = generate_plot_points(f, (x, -5, 5))
h = line(points, markerfacecolor='gray', marker='o', markeredgewidth=0, linestyle="")
g+h
Обратите внимание, что эти точки могут быть не всеми, которые использовались для построения полного графика. Вы можете увеличить глубину адаптивного алгоритма с помощью пары параметров .
Вы также можете взломать g
объект, чтобы получить первый (и единственный) примитив (типа Line
) и получить доступ к данным:
f(x) = sin(x)*cos(x/pi)
g = plot(f, (x, -5, 5))
l = g[0]
points = zip(l.xdata, l.ydata)
h = line(points, markerfacecolor='gray', marker='o', markeredgewidth=0, linestyle="")
g+h
Вау, это много очков. :D
Другой подход заключается в размещении точек там, где вы хотите. Например, вы можете отобразить точку через каждые 0,5 единицы по оси X:
f(x) = sin(x)*cos(x/pi)
g = plot(f, (x, -5, 5))
points = [(x, f(x)) for x in srange(-5, 5.1, 0.5)]
h = line(points, markerfacecolor='gray', marker='o', markeredgewidth=0, linestyle="")
g+h
Вы можете стать более привлекательным, если:
text
объект в каждую точку с координатамиymin
и ymax
ограничить график, чтобы рисовать функции с очень высокими значениямиВозможности безграничны.
Проверьте следующие ссылки:
Еще кое-что. Если вы хотите сохранить фигуру, просто вызовите save
метод для любого объекта графика.
Например:
g.save("nice.png")
(g+h).save("wonderful.pdf")
Если вы просто играете с графикой, вы не ошибетесь, используя Gnuplot .
set samples 20
set isosamples 21
set xlabel "X axis"
set ylabel "Y axis"
set zlabel "Z " offset 1, 0
set view 60, 30, 0.85, 1.1
set key at screen 1.0, 0.9
set style textbox opaque noborder margins 0.5, 0.5
set title "contour plot"
set contour
splot x*y
Вы также можете посмотреть:
Наконец, взгляните на plot.ly , где вы можете создавать участки любым из способов (платно для частных участков).
Вы можете использовать GeoGebra :
Андреа Лаззаротто
бзал
Андреа Лаззаротто
бзал
Андреа Лаззаротто