Reamostrar uma matriz numpy
É fácil reamostrar uma matriz como
a = numpy.array([1,2,3,4,5,6,7,8,9,10])
com um inteirofator de reamostragem. Por exemplo, com um fator 2:
b = a[::2] # [1 3 5 7 9]
Mas com um fator de reamostragem não inteiro, ele não funciona tão facilmente:
c = a[::1.5] # [1 2 3 4 5 6 7 8 9 10] => not what is needed...
Deve ser (com interpolação linear):
[1 2.5 4 5.5 7 8.5 10]
ou (pegando o vizinho mais próximo na matriz)
[1 3 4 6 7 9 10]
Como reamostrar uma matriz numpy com um fator de reamostragem não inteiro?
Exemplo de aplicação: reamostragem / repetição do sinal de áudio