在Octave中交换向量/矩阵中的两个元素非常简单:
x='abcde';
x([4,1])=x([1,4])
x =
dbcae
不幸的是,我还没有找到在匿名函数中执行此操作的方法。尽管下面的函数在语法上是正确的,但它只返回交换的两个元素,而不是整个x
向量:
f=@(x)(x([4,1])=x([1,4]))
f(x)
ans =
ad
是否有一种方法可以通过匿名方法使用匿名函数来实现所需的行为?可以使用匿名函数以这种方式交换几个元素吗?
我可以创建一个索引向量:f=@(x)x([4,2,3,1,5])
,但是动态创建这样的向量也可能会占用很多字节。
相关元帖子。
—
Stewie Griffin