问题标签 [vectorization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何避免循环
大家好,我是 R 新手。
我有两个面板数据文件,列“id”、“date”和“ret”
文件 A 的数据比文件 B 多得多,但我主要处理文件 B 的数据。
“id”和“date”的组合是唯一标识符。
有没有一种优雅的方式来查找 B 中的每个 (id, date),我需要从文件 A 中获取过去 10 天的 ret,并将它们存储回 B 中?
我天真的做法是循环 B 中的所有行,
但循环需要永远。
真的很感激你的想法。
非常感谢。
matlab - MATLAB:字符串元胞数组的比较
我有两个字符串元胞数组,我想检查它们是否包含相同的字符串(它们的顺序不必相同,我们也不知道它们是否具有相同的长度)。
例如:
或者
首先我想到了,strcmp
但这需要遍历一个单元格内容并与另一个单元格内容进行比较。我还考虑ismember
过使用类似的东西:
但是我们事先并不知道它们的长度相同(显然是不相等的情况)。那么如何在不编写太多 if/else 案例的情况下以最有效的方式执行此比较。
optimization - 这段matlab脚本可以进一步向量化吗?
所以我试图用这段代码做的是找到图像线上低于某个阈值的所有像素。然而,问题是这段代码是在一个双 for 循环中执行的(是的,我知道 :( ),每个像素一次,所以它非常慢。我想知道我是否还有什么可以做的。
一些技巧会很棒,因为我对 MATLAB 优化很陌生,而且我只知道基础知识(尽量不要使用循环,或者在内部函数中多次调用脚本等)。如果这不起作用,我可能不得不求助于 MEX 文件,这对于我小组中的其他研究人员来说将更难维护。谢谢!
matlab - 在序列中查找零岛
想象一下你有一个很长的序列。找到序列全为零的区间的最有效方法是什么(或更准确地说,序列下降到接近零的值abs(X)<eps
):
为简单起见,我们假设以下顺序:
我正在尝试获取以下信息:
然后使用此信息,我们找到持续时间 >= 到某个指定值(例如3
)的区间,并返回所有这些区间中的值的索引组合:
最后一部分与上一个问题有关:
这是我到目前为止所拥有的:
我正在寻找矢量化/优化代码,但我对其他解决方案持开放态度。我必须强调空间和时间效率非常重要,因为我正在处理大量的长生物信号。
c++ - 构建使用 Eigen(用于线性代数的 C++ 模板库)的项目时出现编译器错误
在我的项目中,我将 Eigen C++ 库用于线性代数,并且仅当我打开 ARM NEON 的矢量化标志 (mfpu=neon -mfloat-abi=softfp) 时,我得到编译器错误。我无法理解出了什么问题。我是否需要在 Eigen 库中为 ARM NEON 启用任何预处理器指令?
主程序
生成文件
错误
使用 Code Sourcery 工具链时遇到的错误
python - 在返回向量的函数上使用 Numpy Vectorize
numpy.vectorize
接受一个函数 f:a->b 并将其转换为 g:a[]->b[]。
a
当和是标量时这很好b
用,但我想不出为什么它不能与 b 作为一个ndarray
或列表一起使用,即 f:a->b[] 和 g:a[]->b[] []
例如:
这产生:
好的,这样就给出了正确的值,但给出了错误的 dtype。更糟糕的是:
产量:
所以这个数组几乎没用。我知道我可以转换它:
给我我想要的:
但这既不高效也不pythonic。你们中的任何人都可以找到更清洁的方法吗?
提前致谢!
optimization - 在 R 中优化 Verhoeff 算法
我编写了以下函数来计算 R 中的校验位。
为了在字符串向量上运行,sapply
必须使用。这部分是因为使用了strsplit
,它返回一个向量列表。即使对于中等大小的输入,这也会影响性能。
这个函数如何向量化?
我也知道必须在每次迭代中创建表会损失一些性能。将这些存储在新环境中会是更好的解决方案吗?
r - 在 R 中创建没有循环或递归的特定向量
我有第一个向量,假设 x 仅由 1 和 -1 组成。然后,我有第二个向量 y,它由 1、-1 和零组成。现在,我想创建一个向量 z ,它包含在索引 ia 1 中,如果x[i]
等于 1 并且 1 存在于向量 y 中的 n 个先例元素之间(y[(i-n):i])
...
更正式的:z <- ifelse(x == 1 && 1 %in% y[(index(y)-n):index(y)],1,0)
我希望在 R 中创建这样一个向量,而不需要循环或递归。上面的命题不起作用,因为它不承认y[(index(y)-n):index(y)]
逐个元素地采用表达式。
多谢您的支持
matlab - 将函数应用于所有行
我有一个函数,ranker
它接受一个向量并按升序为其分配数字等级。例如,
ranker([5 1 3 600]) = [3 1 2 4]
或
ranker([42 300 42 42 1 42] = [3.5 6 3.5 3.5 1 3.5]
。
我正在使用矩阵,variable_data
并且我想将 ranker 函数应用于variable data
. 这是我目前的解决方案,但我觉得有一种方法可以对其进行矢量化并同样快速:p
matlab - 在 Matlab 中计算单元格数组的集合并集
我有一个单元格数组,其中每个元素都由一个 id 向量组成。我喜欢计算元胞数组中所有元素的并集。这是我目前的解决方案,但我觉得它可以被矢量化或者有一个更优雅的解决方案: