Недавно я рассматривал возможность перехода на язык программирования Python. В настоящее время Matlab является языком выбора в моем отделе для быстрого развития и прототипирования кода. Это очень хорошо, но Mathworks (компания, которая производит Matlab) возится с условиями лицензирования, что приводит к стычкам, где ни один не должен существовать.
Должен ли я переключиться на Python?
Ответ 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 и попробуйте.