10
votes

Dois-je passer à Python?

J'ai récemment envisagé de passer au langage de programmation Python. Actuellement, Matlab est la langue de choix dans mon département pour le développement rapide et le prototypage du code. C'est très bien à cela, mais Mathworks (la société qui produit MATLAB) bricole avec les conditions de licence, ce qui entraîne des tracas où aucun ne devrait exister.


1 commentaires

Vous pouvez élaborer plus sur vos besoins spécifiques (comme quelles sont les boîtes à outils spécifiques utilisées). Merci


6 Réponses :


2
votes

Il suffit de télécharger Scipy et essayez-le.


0 commentaires

3
votes

Si vous basculez ou ne dépendez pas de ce que vous pensez de Python. J'adore moi-même Python, et je sais que c'est extrêmement efficace pour le prototypage rapide. La syntaxe est propre et nette, et très facile à apprendre.

Pour faire votre décision, je vous recommande de visiter la page d'accueil, Python.org et avoir un coup d'œil aux docs.


0 commentaires

4
votes

Python est certainement utilisable comme remplacement de MATLAB pour de nombreux cas, en utilisant Numpy, Scipy et Matplotlib (voir mon Guide de configuration de l'environnement de développement pour savoir comment installer tous ces packages). Cependant, il existe des choses que Matlab fait mieux, telles que la fourniture de bibliothèques pour interfacer avec le matériel de collecte de données. Vous devrez donc essayer Python et voir si cela répond à vos exigences.


0 commentaires

11
votes

Le choix revient au coût. Si vous êtes heureux de payer pour MATLAB - surtout si vous utilisez les boîtes à outils - vous trouverez probablement Python ne fournit pas un tel emballage intégré. Avoir une matrice lorsque le type de données de base rend MATLAB un langage intuitif pour de nombreuses tâches mathématiques. Personnellement, je trouve le ceci couplé au débogueur inestimable.

Python, à travers des numpides, Scipy et similaires fournissent la même fonctionnalité. Il y aura bien sûr une courbe d'apprentissage à surmonter.

Si vous effectuez des tâches de programmation générales, les solutions de mathématiques ne sont pas particulièrement appliquées, Python est une langue extrêmement facile à utiliser et à adapter. C'est aussi gratuit - ce qui peut être un facteur déterminant.


0 commentaires

7
votes

Si vous recherchez un remplacement MATLAB en gros, vous voudrez peut-être jeter un coup d'œil sur Python (x, y) . Il vise à fournir une expérience plus cohérente, plutôt que de laisser de nouveaux utilisateurs à pêcher sur Internet eux-mêmes recherchant les bons composants à utiliser.

Une autre option est gnu octave , qui est essentiellement un clone open-source de matlab .


0 commentaires

23
votes

J'ai trouvé Python + Numpy + Scipey + Matplotlib + ipython + [paquets SCI / numériques aléatoires] Pour être presque un remplacement complet de MATLAB. Il manque certainement certains forfaits manquants, donc s'il existe un ensemble spécialisé d'outils disponibles dans Matlab mais pas à Python, cela pourrait être un problème, mais sinon, je n'ai pas regardé en arrière.

Je vais mentionner quelques avantages distincts de Python sur Matlab

  • True langage de programmation au lieu d'un hack d'une langue jeté sur un package numérique (NUMPY est venu à Python au lieu de l'inverse). La gestion de grands projets Python est une joie complète vs matlab. Combien de systèmes de OOP différents ont été mangés dans Matlab?
  • totalement libre et portable. Je peux utiliser Python sur n'importe quelle machine sans problèmes de licence. C'est le plus grand avantage de mon point de vue.
  • Enveloppement d'autres bibliothèques de C, C ++, Fortran est assez simple à l'aide de Swig, Cython, F2py, etc vs la laideur qui est un fichier MEX
  • Cython pour accélérer le code lent (bien que je trouve que NUMPY est presque aussi rapide sinon plus rapide que MATLAB)
  • MPI4PY VS Un autre paquet que je dois acheter à partir de Matlab pour exécuter des applications parallèles

    Personnellement, j'utilise personnellement la distribution de Python d'enthousiasme pour beaucoup de mon travail, car il emballe tout et est gratuit pour les individus de l'université. J'ai alternativement construit Python et toutes ses bibliothèques et modules de zéro. La gestion du module est peut-être la plus grande faiblesse de Python, mais il y a de bonnes choses pour aider, comme virtualenv et pip


3 commentaires

"Combien de systèmes de OOP différents ont été mangés dans Matlab?" J'ai utilisé seulement six: 1. Old Style Oo 2. Old Shema 3. Émulation avec fermetures (fonction imbriquée) 4. Émulation avec global / persistant 5. Nouveau style OO 6. Utilisation d'objets Java. Y a-t-il plus?


Pourquoi dites-vous que la gestion du module est une faiblesse pour Python? Je pense que c'est incroyable. Vous pouvez avoir des modules locaux ou globaux (à l'échelle du système) et tout le système de dépassement de noms permet de garder tout ce qui est propre.


Je pense qu'il pourrait y avoir une petite idée fausse: par "Gestion du module", la réponse fait référence à "Distribution du module" (ce qui est en effet un défi, être adressé progressivement par pip change ces derniers temps), pas les espaces de noms, Quel "" Les espaces de noms sont une bonne idée de klaxon - faisons plus de ceux-ci! ".