Pregunta

Tengo 2 vectores:

a ← 1 2 3
b ← 5 6 7

Me gustaría crear una matriz anidada con elementos vectoriales de 2 elementos, teniendo un elemento de un B (tuplas), es decir,.:

┌───┬───┬───┐
│1 5│2 6│3 7│
└───┴───┴───┘ 

¿Cómo haría eso en APL?No puedo encontrar ninguna solución elástica, solo (a[1],b[1]) (a[2],b[2]) (también he intentado el producto externo con la función , pero sin éxito).

¿Fue útil?

Solución

Intenta esto:

⊂[2] a,[1.5]b

La primera parte: a,[1.5]b fusiona las dos matrices y crea una matriz bidimensional con cada columna el contenido de las variables A y B.

Luego, ⊂[2] encapsula cada fila en pares, lo que resulta en la salida deseada.

Tenga en cuenta que si está utilizando Dyalog, es posible que tenga que usar ↑ en lugar de ⊂.Creo que esto depende del valor de la variable ⎕ML, pero no uso Dyalog, así que no puedo probar esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top