Combiner des vecteurs dans APL (créer des tuples avec des éléments de chaque vecteur)
Question
J'ai 2 vecteurs :
a ← 1 2 3
b ← 5 6 7
Je voudrais créer un tableau imbriqué avec des éléments vectoriels à 2 éléments, ayant un élément d'un b (tuples), c'est-à-dire :
┌───┬───┬───┐
│1 5│2 6│3 7│
└───┴───┴───┘
Comment pourrais-je faire cela dans APL ?Je ne trouve aucune solution élastique, seulement (a[1],b[1]) (a[2],b[2])
(J'ai aussi essayé le produit extérieur avec le ⊃
fonction mais sans succès).
La solution
Essaye ça:
⊂[2] a,[1.5]b
La première partie: a,[1.5]b
fusionne les deux tableaux et crée un tableau bidimensionnel, chaque colonne étant le contenu des variables a et b.
Alors, ⊂[2]
encapsule chaque ligne en paires, ce qui donne le résultat souhaité.
Notez que si vous utilisez Dyalog, vous devrez peut-être utiliser ↑ au lieu de ⊂.Je pense que cela dépend de la valeur de la variable ⎕ML, mais je n'utilise pas Dyalog donc je ne peux pas tester cela.