【发布时间】:2015-05-06 20:02:14
【问题描述】:
我正在寻找可以执行 matlab find 函数没有循环的向量(快速)代码。 find 返回给定函数的值和索引。 Swift 的 filter、map 或 reduce 不返回索引。
例子
X = [18 3 1 11; 8 10 11 3; 9 14 6 1; 4 3 15 21]
[row,col] = find(X>0 & X<10,3)
row =
2
3
4
col =
1
1
1
来自 matlab 文档
[row,col] = find(___) 返回每个的行和列下标 使用任何输入参数的数组 X 中的非零元素 以前的语法。
【问题讨论】:
-
"find 返回值和索引 ..." 我无法从您的示例或 Matlab 文档中看到,结果只是行/列索引。 – 你需要一种用于“矩阵”(不是内置的 Swift 类型)还是只用于数组(又名“向量”)的方法?
-
现在,我很乐意先从向量开始,然后再到矩阵。
-
您是否研究过 Accelerate 框架。我没有记忆中的所有方法,但你可能会在那里找到一些高性能
-
我花了一些时间浏览文档,但没有找到向量的结果,但我认为可能有矩阵???读起来有点混乱。