vectorization

    16热度

    3回答

    我有两个1000行1000列的大阵列。我需要比较这些数组的每个元素,并在相应的元素相等时将另一个数组存储1。 我可以用for循环做这件事,但这需要很长时间。我怎样才能更快地做到这一点?

    2热度

    2回答

    我在MATLAB中有两个矩阵可以说每个大小为1000 * 1000的arr1和arr2。我想比较它们的元素和保存在结果矩阵resarr这也是1000 * 1000的比较,使得对于每个元素: 如果在arr1的元件是一个比arr2更大,将值1在结果 如果arr2元素越大,存储的值2 ,但我不想与循环要做到这一点,因为这是比较慢。我怎样才能做到这一点? 编辑: 另外,如果我想不同的RGB值存储在1000

    4热度

    1回答

    我不太确定这是否可行,但我对MATLAB的理解肯定会更好。 我有一些代码我希望向量化,因为它在我的程序中造成了相当多的瓶颈。它是优化程序的一部分,它具有许多可能的短期平均(STA),长期平均(LTA)和灵敏度(OnSense)配置。 时间是以矢量形式,FL2onSS是主数据(NX1双),FL2onSSSTA是其STA(NxSTA双),FL2onSSThresh是其阈值(NxLTAxOnSense双

    0热度

    2回答

    我有一个定义了一个函数(GetDepth),它可以做一些相当平凡的事情,例如需要一个2x4矩阵并输出一个2x1矩阵。然后我有一个2x4xn矩阵我想要应用它,我期待2x1xn矩阵结果。 将函数应用于矩阵而不诉诸循环的正确语法是什么? ed。按照要求,这里有我想要做的事的例子: function [bidWSize, askWSize] = getWSizes(m, bookSizeHistory)

    89热度

    11回答

    例如,您可以对矢量中的每个项目应用函数,例如,v + 1,或者您可以使用函数arrayfun。如何在不使用for循环的情况下为矩阵的每一行/列做到这一点?

    1热度

    4回答

    我有一个for循环执行以下的功能: 由8矩阵以一个M和:由矩阵的8 分割成大小为512元件的块(意味着X == 512,并且元素的数量可以是128,256,512,1024,2048) 将块重新整形为1×512(元素数)矩阵。 取矩阵的最后1/4并放在前面, 例如, Data = [Data(1,385:512),Data(1,1:384)]; 以下是我的代码: for i = 1 : NumOf

    10热度

    6回答

    我有一堆时间序列,每个时间序列由两个分量描述,一个时间戳向量(以秒为单位)和一个测量值向量。时间向量是不均匀的(即以非规律间隔取样) 我试图计算每个1分钟间隔值的平均值/ SD(以X分钟间隔计算其平均值,采取下一步间隔,...)。 我目前的实现使用循环。这是我迄今为止的样本: t = (100:999)' + rand(900,1); %' non-uniform time x = 5*ran

    12热度

    5回答

    有没有办法强制STL容器对齐到特定字节,使用属性((对齐))也许?目标编译器不是Microsoft Visual C++。 哪些库(如果有的话)提供具有特定明确向量化的STL算法的专门模板,例如, SSE。我感兴趣的编译器是g ++,Intel和IBM XL。

    14热度

    1回答

    我有一个列向量我要转换为一个单元阵列,例如: A = rand(10,1); B = cell(10,1); for i=1:10 B{i} = A(i); end B = [0.6221] [0.3510] [0.5132] [0.4018] [0.0760] [0.2399] [0.1233]

    9热度

    6回答

    在Matlab中工作我有2个不同长度的x坐标向量。例如: xm = [15 20 24 25 26 35 81 84 93]; xn = [14 22 26 51 55 59 70 75 89 96]; 我需要映射xm来XN,或者换句话说,找到XN负责协调最接近XM。所以如果我有与这些坐标相关的值,我可以使用此地图作为索引并关联这些值。 这两个向量都是排序的,每个向量都没有重复。 我写了一个