Должен ли я переключиться на Python?

Недавно я рассматривал возможность перехода на язык программирования Python. В настоящее время Matlab является языком выбора в моем отделе для быстрого развития и прототипирования кода. Это очень хорошо, но Mathworks (компания, которая производит Matlab) возится с условиями лицензирования, что приводит к стычкам, где ни один не должен существовать.

Ответ 1

Я нашел python + numpy + scipy + matplotlib + IPython + [random sci/числовые пакеты], чтобы быть почти полной заменой для matlab. Конечно, некоторые пакеты отсутствуют, поэтому, если есть специальный набор инструментов, доступных в matlab, но не в python, это может быть проблемой, но в противном случае я не оглядывался назад.

Я упомянул пару отличительных преимуществ python над matlab

  • Истинный язык программирования вместо взлома языка, набросанного на числовой пакет (numpy пришел на python, а не наоборот). Управление большими проектами python - полная радость против Matlab. Сколько различных систем oop были искажены в matlab?
  • Полностью бесплатный и портативный. Я могу использовать python практически на любой машине без проблем с лицензированием. Это самое большое преимущество с моей точки зрения.
  • Обтекание других библиотек в C, С++, Fortran довольно просто, используя SWIG, Cython, f2py и т.д. против уродства, являющегося файлом mex.
  • Cython для ускорения медленного кода (хотя я считаю, что numpy почти так же быстро, если не быстрее, чем matlab)
  • mpi4py против другого пакета, который я должен купить у Matlab для запуска параллельных приложений

Лично я использую Enthought Python Distribution для многих своих работ, потому что он упаковывает все и бесплатно для людей в академических кругах. Я альтернативно построил python и все его библиотеки и модули с нуля. Управление модулем, пожалуй, является самой большой слабостью в python, но есть некоторые приятные вещи, которые помогают, например, virtualenv и pip

Ответ 2

Выбор сводится к стоимости. Если вы счастливы платить за Matlab - особенно если вы используете панели инструментов - вы, скорее всего, найдете, что Python не предоставляет такой интегрированный пакет. Наличие матрицы в качестве базового типа данных делает Matlab интуитивным языком для многих математических задач. Лично я считаю, что это связано с бесценным отладчиком.

Python, через NumPy, SciPy и т.д., обеспечивают такую ​​же функциональность. Разумеется, будет преодолена кривая обучения.

Если вы выполняете общие задачи программирования, которые не являются особенно применимыми математическими решениями, тогда Python является чрезвычайно простым в использовании и адаптируемым языком. Он также свободен - это может быть решающим фактором.

Ответ 3

Если вы ищете оптовую замену Matlab, вы можете взглянуть на Python (x, y). Он направлен на обеспечение более сплоченного опыта, а не на то, чтобы новые пользователи могли тралить на себя самих интернет-пользователей, ищущих нужные компоненты.

Другим вариантом является GNU Octave, который по существу является клон открытым кодом MATLAB.

Ответ 4

Python, безусловно, можно использовать для замены Matlab для многих случаев, используя NumPy, SciPy и Matplotlib (см. мое руководство по настройке среды разработки как установить все эти пакеты). Тем не менее, есть некоторые вещи, которые Matlab делает лучше, например, предоставление библиотек для взаимодействия с оборудованием для сбора данных. Поэтому вам нужно попробовать Python и посмотреть, соответствует ли он вашим требованиям.

Ответ 5

Если вы переключаетесь или не зависит от того, что вы думаете о Python. Я сам люблю Python, и я знаю, что он чрезвычайно эффективен для быстрого прототипирования. Синтаксис является чистым и четким, и его очень легко изучить.

Чтобы принять ваше решение, я рекомендую посетить домашнюю страницу Python.org и взглянуть на документы.

Ответ 6

Просто скачайте scipy и попробуйте.