Gere uma matriz contendo todas as combinações de elementos retirados de n vetores

Essa pergunta aparece com bastante frequência de uma forma ou de outra (veja, por exemplo,aqui ouaqui) Por isso, pensei em apresentá-lo de uma forma geral e fornecer uma resposta que possa servir para referência futura.

Dado um número arbitrárion de vetores de tamanhos possivelmente diferentes, gera umn-column matrix cujas linhas descrevem todas as combinações de elementos extraídas desses vetores (produto cartesiano).

Por exemplo,

vectors = { [1 2], [3 6 9], [10 20] }

deveria dar

combs = [ 1     3    10
          1     3    20
          1     6    10
          1     6    20
          1     9    10
          1     9    20
          2     3    10
          2     3    20
          2     6    10
          2     6    20
          2     9    10
          2     9    20 ]

questionAnswers(4)

yourAnswerToTheQuestion