我有一个5x5矩阵M
和一个对向量进行操作的函数f
。 r ← ⊃?⍴M
是随机行M
的索引。我需要返回修改后的M
版本而不进行直接分配(对于较大的程序而言非常重要),其中f
仅适用于r⌷M
。我是通过映射M
行来执行此操作,如果行索引与r匹配则返回f⍵
,如果不匹配则返回⍵
&# 39;吨。我想出的功能是:
({f(⍣(r = M⍳⍵))⍵}⍤1) M
它有效,但它并不理想。我不喜欢r = M⍳⍵
部分,因为我在每个周期都在搜索⍵
的索引。我认为在⍳5
之间进行操作更有意义,在此向量中以每个⍵
的形式引用每一行。我似乎无法让这个工作起作用。
任何使我的功能不那么难看的帮助表示赞赏。
答案 0 :(得分:4)
示例代码:
M←5 5⍴⍳25
f←-
r←⊃?⍴M
⎕←f@r⊢M
示例结果:
1 2 3 4 5
¯6 ¯7 ¯8 ¯9 ¯10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25