MATLAB vs Python: for Scientific Computing – A Beginners Guide

Faisal Riyad
Faisal Riyad

Follow

Apr 20, 2018 · 6 min read

Now a days “the ability to write codes” has become an essential skill for the students from the technical discipline. Ou você gosta ou não, durante seus estudos de graduação você vai fazer tarefas, resolver equações ou parte dos problemas de seu projeto com algum tipo de codificação. E, se você pensar em ir para estudos superiores e fazer algumas pesquisas extensas, então “escrever códigos”é uma habilidade necessária para você.

Qual você deve aprender-MATLAB ou Python? Não há respostas definitivas. MATLAB tem estado lá para a computação científica por um longo tempo, onde como o desenvolvimento de pacotes de computação científica para python, por exemplo SciPy, NumPy não têm sido antiquados. Assim, o MATLAB tornou-se uma língua ou ferramenta legada para a comunidade científica. tornou-se uma língua legado por várias razões. Engenheiros e cientistas sempre precisavam de uma linguagem de programação que expressasse a matemática de matriz e matriz diretamente, e então MATLAB (matrix laboratory) veio à existência. MATLAB é uma linguagem orientada a matemática e matriz vem com diferentes tipos de caixas de ferramentas especializadas (você tem que pagar por caixa de ferramentas) para vários fins, por exemplo, modelagem de dados econômicos, análise de imagem ou condução de um robô. Estas caixas de ferramentas são desenvolvidas profissionalmente, rigorosamente testadas e bem documentadas para aplicações científicas e de engenharia. E é por isso que pagas o preço por isso. Por outro lado, em Python você muitas vezes tem que confiar em pacotes de autoria comunitária para usos científicos e de engenharia.

Matriz de Manipulação em Python vs MATLAB

o MATLAB tem uma sólida quantidade de funções. Um dos seus melhores produtos é o “SimuLink”, que ainda não tem alternativa. Você pode pensar que outra linguagem gráfica de programação chamada ‘LabView’ como uma alternativa a ela, mas então você tem que pagar um preço pesado por ela. E, em Python para obter isso como um pacote desenvolvido pela comunidade, podemos ter que esperar pelo menos metade de uma década.

tem uma documentação extraordinariamente boa para começar a aprender, e uma grande comunidade científica que tenha respondido às perguntas que vão ser feitas ou será respondida por alguém como você postá-las no centro de MATLAB. Há 365.000 colaboradores, 120 perguntas são respondidas e 25.000 scripts de amostra ou códigos são baixados por dia.

A melhor coisa do MATLAB é a disponibilidade de GUI baseado em aplicativos para a realização de tarefas comuns que torna a vida de iniciante mais fácil. Você não sabe como ajustar uma curva usando o comando ‘fminsearch’, você apenas abre a caixa de ferramentas de ajuste de dados, e com alguns cliques do mouse ele será feito. Processamento paralelo é muito mais fácil em MATLAB, se alguém tem acesso à caixa de ferramentas de computação paralela. Possui caixas de ferramentas para biologia computacional, finanças computacionais, sistemas de controle, ciência dos dados, processamento de imagens e visão computacional, aprendizagem de máquinas, modelagem física e simulação, robótica, processamento de sinais e comunicações e IOT. As únicas desvantagens que eu encontrei, você tem que pagar por ele e, em certa medida, ele requer um pouco de RAM extra em seu dispositivo de computação.

Por outro lado, chamar o Python como uma alternativa ao MATLAB é tecnicamente incorreto, ao invés disso é uma linguagem de programação de propósito geral que significa que você pode desenvolver aplicativos completos ou outras ferramentas de software em python. É possível criar aplicações usando qualquer uma das principais bibliotecas GUI (por exemplo, Qt), usar OpenGL, dirigir sua porta USB, etc.Python e suas bibliotecas companion estão ficando cada vez mais sofisticadas dia a dia. Para problemas de grande escala, Python é muito mais expressivo e legível em comparação com scripts MATLAB. Os programas Python são estruturados através da indentação, ou seja, os blocos de código são definidos pela sua indentação, o que torna o programa mais fácil de seguir.

Indentação em Python

a Ser livre, cruz-plataforma, de uso geral e de alto nível linguagem de programação, muitas pessoas estão agora adotando Python. IDES como pycharm, IPython notebook, jupyter notebook uma distribuição como anaconda tornou python muito mais utilizável para pesquisadores. Como resultado desta popularidade, muitos pacotes científicos Python tornaram-se disponíveis com extensa documentação para visualização de dados, aprendizagem de máquinas, processamento de linguagem natural, análise de dados complexa e muito mais. Por exemplo, o scikit-learn inclui abordagens de “aprendizagem mecânica” de início da arte com documentação e tutoriais muito bons.

Aqui eu tenho recolhida a lista de alguns populares Python científico de bibliotecas e ferramentas de:

SciPy: Esta biblioteca é usada por cientistas, analistas e engenheiros de fazer científica computação e técnico em informática. Ele contém módulos para otimização, álgebra linear, integração, interpolação, funções especiais, FFT, processamento de sinal e imagem, solucionadores de ODE e outras tarefas comuns em Ciência e engenharia.NumPy: É o pacote fundamental para computação científica com Python, adicionando suporte para matrizes e matrizes grandes e multidimensionais, juntamente com uma grande biblioteca de funções matemáticas de alto nível para operar nessas matrizes.Pandas: Pandas é uma biblioteca para manipulação de dados e análise. A biblioteca fornece estruturas de dados e operações para manipular tabelas numéricas e séries cronológicas.

SymPy: SymPy é uma biblioteca para computação simbólica e inclui características que vão desde aritmética simbólica Básica até cálculo, álgebra, matemática discreta e física quântica. Ele fornece capacidades de álgebra computacional tanto como uma aplicação autônoma, como uma biblioteca para outras aplicações, ou ao vivo na web.Matplotlib: Matplotlib é uma biblioteca python 2D plotting que produz figuras de qualidade de publicação em uma variedade de formatos de hardcopy e ambientes interativos através de plataformas. O Matplotlib permite-lhe gerar gráficos, histogramas, espectros de energia, gráficos de barras, errorcharts, scatterplots e muito mais.

scikit-aprender: scikit-aprender é uma máquina de aprendizagem biblioteca. Ele apresenta vários algoritmos de classificação, regressão e agrupamento, incluindo máquinas de suporte vetorial, florestas aleatórias, aumento de gradientes, K-means e DBSCAN, e é projetado para interoperar com as bibliotecas numérica e científica Python NumPy e SciPy.

scikit-image: scikit-image é uma biblioteca de processamento de imagens. Ele inclui algoritmos para segmentação, transformações geométricas, manipulação de espaço de cores, análise, filtragem, morfologia, detecção de recursos, e muito mais.

Veusz: Veusz é um pacote de gráficos e gráficos científicos projetado para produzir gráficos de qualidade de publicação em formatos vetoriais populares, incluindo PDF, PostScript e SVG.Astropia: o projeto Astropia é uma coleção de pacotes projetados para uso em astronomia. O pacote principal de astropia contém funcionalidade destinada a astrônomos profissionais e astrofísicos, mas pode ser útil para qualquer um que desenvolva software de Astronomia.PsychoPy: PsychoPy é um pacote para a geração de experimentos para neurociência e Psicologia experimental. A psicopia é projetada para permitir a apresentação de estímulos e coleta de dados para uma ampla gama de experiências de neurociência, psicologia e psicofísica.

Biopython: Biopython é uma coleção de ferramentas Python não-comerciais para Biologia Computacional e bioinformática. Ele contém classes para representar sequências biológicas e anotações de sequências, e é capaz de ler e escrever para uma variedade de formatos de arquivos.

existem tantos pacotes por aí, e a melhor coisa é que eles são livres, ou seja, o custo de computação científica e numérica com Python é zero.

assim, de uma perspectiva iniciante, não há uma resposta definitiva para a pergunta: “qual devo usar para computação científica?”Gostaria de responder a esta pergunta de uma forma diferente. Usando Python significa que você pode mais facilmente colaborar com pessoas que não têm acesso ao MATLAB. Ou, talvez, você vai usar MATLAB, porque não há pacotes alternativos em Python que serve tão melhor como ele faz em MATLAB.

Por favor, goste e siga-nos no Facebook: https://www.facebook.com/gradbunker

Deixe uma resposta

O seu endereço de email não será publicado.