2013-08-02 1 views
3

Я искал везде для функции, чтобы сделать это, но учитывая Вложенный векторMultiple-Индексация вложенных матриц в APL

A←(5 3 2) (3 9 1) 

Я хотел бы, чтобы индексировать его с B

B ← 2 1 

Так что для первого элемента в A возвращается второй элемент. И для второго элемента для A будет возвращено 3 (первый элемент).

ответ

3

Вы хотите индексную функцию, применяется с каждым оператором:

 A←(5 3 2) (3 9 1) 
     B←2 1 
     B⌷¨A 
3 3 

Обратите внимание, что вы не должны путать функции индекса с функцией квадратора, которая является шире окно.

+0

Спасибо Павел, ваш метод намного проще, чем то, что я пытался достичь с диадическим раскрывать/первым. –

+0

Рад, что это помогло. Я считаю, что считается хорошей формой в StackOverflow, чтобы принять ответ как правильный, если он полезен и на самом деле является правильным. –

1

Вы можете также использовать «выбрать»: B⊃¨A

 Смежные вопросы

  • Нет связанных вопросов^_^