Пользователь MatLab думает об изучении Python

0

Im рассматривая изучение Python с идеей отпустить MatLab, хотя мне очень нравится MatLab. Тем не менее, я обеспокоен тем, что получение всех движущихся и независимых предметов, которые могут сочетаться друг с другом, может быть проблемой, и в конечном итоге это может не стоить того. Я также думал о том, чтобы попасть в Visual Basic или Visual C++. В конце концов, я все время возвращаюсь к легкости MatLab. Любые мысли или комментарии относительно сложности перехода на Python? Стоит ли оно того?

  • 2
    Stackoverflow - не лучшее место для того, чтобы задавать этот тип вопросов - он специализируется на вопросах, которые имеют объективные «правильные» ответы. Для обсуждения различных точек зрения по теме, вам, вероятно, будет лучше обслужить соответствующий дискуссионный форум.
  • 4
    ЛВК прав - это не то место. В любом случае, на ваш вопрос невозможно даже начать отвечать, поскольку вы не описали тип программ, которые вы хотите написать (т.е. их необходимую функциональность, эффективность и т. Д.), А также количество усилий, которые вы готовы приложить, чтобы чему-то научиться новый и т. д.
Показать ещё 2 комментария
Теги:

3 ответа

2

Хорошим местом для начала является эта страница: начало работы SciPy, в котором дается обзор научной инструментальной таблицы, которую вы могли бы использовать для перехода к MatLab из Python: в частности, библиотеки numpy, scipy, matplotlib и интерактивная рабочая среда IPython, В частности, numpy и matplotlib разработаны так, чтобы работать с MatLab.

Тип массива NumPy увеличивает язык Python с эффективной структурой данных, полезной для численной работы, например, манипулированием матрицами. NumPy также предоставляет основные числовые подпрограммы, такие как инструменты для поиска собственных векторов.

Например, в Matlab вы можете написать

eye(3)-diag([1 1],1)

и вернуться

 1    -1     0
 0     1    -1
 0     0     1

В Python/numpy вы должны написать

import numpy as np
np.eye(3)-np.diag([1,1],1)

и вернуться

array([[ 1., -1.,  0.],
       [ 0.,  1., -1.],
       [ 0.,  0.,  1.]])

С matplotlib

вы полностью контролируете стили линий, свойства шрифта, свойства осей и т.д., через объектно-ориентированный интерфейс или через набор функций, знакомых пользователям MATLAB.

В MatLab для печати вы можете написать

x=linspace(-pi, pi, 100);
plot(x,sin(x))

В Python/numpy/matplotlib вы должны написать

x=np.linspace(-np.pi, np.pi, 100)
import matplotlib.pyplot as plt
plt.plot(x,np.sin(x))

В Интернете много возможностей для людей, совершающих переход, например, NumPy для пользователей Matlab.

MATLAB и NumPy/SciPy имеют много общего. Но есть много различий. NumPy и SciPy были созданы, чтобы сделать численные и научные вычисления наиболее естественным способом с Python, а не быть клонами MATLAB. Эта страница предназначена для того, чтобы собирать мудрость в отношении различий, главным образом с целью помочь опытным пользователям MATLAB стать опытными пользователями NumPy и SciPy. NumPyProConPage - еще одна страница для любопытных людей, которые думают о принятии Python с NumPy и SciPy вместо MATLAB и хотят увидеть список плюсов и минусов.

Вам также может понравиться pylab, который объединяет numpy и matplotlib в одно пространство имен, поэтому вам не нужно беспокоиться о префиксах np и plt я использовал выше. См., Например, википедию.

На этом сайте есть теги, на которые стоит обратить внимание: например, numpy, scipy, matplotlib. Существует также вопрос о Python в stats.se, который вы можете найти релевантным. Если вы заинтересованы в статистике или читаете, записываете и манипулируете табличными данными, вас будут интересовать панды, ответы Python на кадр данных R.

Что касается C++, это отличный язык, но не в той же категории, что и Python. Это не подходящее место для обсуждения своих плюсов и минусов, но, короче говоря, C++ намного ближе к машине, чем Python, и если вы потратите время, вы можете написать высоко оптимизированный код. В Python вы можете быстро запускать код, склеивать отдельные части и легко считывать и записывать данные из любого места, где бы вы ни захотели, но код Python иногда может работать медленно (он похож на Matlab - если вы векторизовать его в numpy быстро, в противном случае оно интерпретируется и медленно). Иногда вы можете ускорить медленный код Python, используя способность Python вызывать функции, определенные в C, см., Например, этот вопрос. (Я оставлю Visual Basic с одной стороны, поскольку это не кажется актуальным.)

Наконец, как отмечалось в комментариях, ответы на любые специфические вопросы предполагали бы знание того, каковы ваши требования, а не только то, что вы хотите сделать, но с кем вы хотите это сделать, и сколько времени и денег вы можете инвестировать.

0

Да, Python стоит изучать. Это был мой первый основной язык, который я узнал более десяти лет назад. Он сильно использовался в системах Linux, особенно когда системы загружаются. Кроме того, библиотеки для языка очень хорошо развиты. Если вы хотите спроектировать игру, PyGame существует уже давно и делает процесс довольно простым. Если вы хотите запрограммировать для сети Twisted - отличная библиотека, которую они имеют. И их веб-каркас Django - это красота.

Я понял, что Python - это очень английский язык.

Если вы хотите, чтобы вы тоже достигли пика в Ruby. Ruby позволяет много разных стилей программирования. Таким образом, вы можете программировать так же, как и на других языках в Ruby (я строго имею в виду стиль). Также у Ruby есть самые "свободные" ресурсы для обучения и выхода на язык онлайн, который я когда-либо видел.

Я люблю оба языка. Но мой ответ: "Да!". Python - отличный первый язык.

Все зависит от того, что вы хотите сделать, и какого метода вы предпочитаете.



Здесь вы можете найти множество библиотек математического построения: https://wiki.python.org/moin/NumericAndScientific/Plotting
Многие из них могут стать отличной альтернативой Matlab.
  • 0
    Это все правда, но OP особенно заинтересован в Python как замене Matlab. Что вы думаете о том, может ли Python стать подходящей заменой Matlab?
  • 0
    Эта ссылка содержит полный список ресурсов для числовой графики wiki.python.org/moin/NumericAndScientific/Plotting . Mayavi - красивый 3D рендерер. Я думаю, что некоторые из этих инструментов вполне могут быть легким переходом от Matlab. Matplotlib может быть библиотека, которую он ищет.
Показать ещё 2 комментария
-4

Python отлично подходит для программирования прошивки, например, с помощью Arduino's. C++ отлично подходит для программирования и приложений. Если вы хотите запрограммировать аппаратное обеспечение, перейдите к python. Если вы хотите запрограммировать программное обеспечение, перейдите к C++. Я изучаю C++ и отлично.

  • 1
    Чтобы объяснить мой отрицательный голос: это не отвечает на вопрос (Matlab не упоминается), и сравнение C ++ и Python очень отклонено в сторону одного конкретного угла приложений. Более того, все комментарии говорят, что вопрос не по теме. (Обратите внимание, вы можете удалить свои собственные ответы. Я делал это не раз, как новый пользователь! :)
  • 3
    Как вы говорите в своем профиле, что вы ребенок, я понимаю, почему вы могли подумать, что Python полезен для программирования электроники - основываясь на том, что вы сделали в школе. Фактически, большинство профессионалов в области программного обеспечения сказали бы, что C ++ - это достаточно низкоуровневый язык, подходящий для аппаратного обеспечения программирования, тогда как Python - это скорее высокоуровневый язык, и, следовательно, очень хороший первый язык для изучения. Удачи с этим в любом случае!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню