10. Do Matlab para Python

10.1. Comandos importantes

10.1.1. O laço for

Matlab:

for i = 1:10
    disp(i)
end

No Matlab, a palavra-chave end é necessária para finalizar o bloco do laço for.

No Python:

for i in range(1,11):
    print(i)
1
2
3
4
5
6
7
8
9
10

Em Python, é necessário adicionar dois-pontos (“:”) no final da linha do for. (Isto é importante e frequentemente esquecido, principalmente, para quem já programou em Matlab antes.) Além disso, os comandos a serem executados dentro do laço for devem ser indentados.

10.1.2. A declaração condicional if-then

Matlab:

if a==0
    disp('a é zero')
elseif a<0
    disp('a é negativo')
elseif a==42
    disp('a é 42')
else
    disp('a é positivo')
end

Em Matlab, a palavra-chave end é necessária na parte final do bloco.

Python:

a = -5

if a==0:
    print('a é zero')
elif a<0:
    print('a é negativo')
elif a==42:
    print('a é 42')
else:
    print('a é positivo')
a é negativo

Em Python, é necessário adicionar dois-pontos (“:”) após cada condição (i.e., nas linhas começando com if, elif, else). Além disso, os comandos a serem executados dentro de cada parte do escopo if-then-else devem ser indentados.

10.1.3. Indexação

No Matlab, a indexação de matrizes e vetores começa em 1 (similarmente ao Fortran), ao passo que no Python, ela começa em 0 (similarmente ao C).

10.1.4. Matrizes

Em Matlab, todo objeto é uma matriz. Em Python, há uma biblioteca especializada chamada NumPy que fornece o objeto array, o qual, por sua vez, possui todas as funcionalidades correspondentes. Similarmente ao Matlab, o NumPy é baseado em bibliotecas cuja execução é bastante rápida.

Há um documento introdutório dedicado ao NumPy para usuários do Matlab disponível em https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html.