vectorization

    1熱度

    1回答

    我有一個相當大的數據框,約1000萬行,在我的例子中,這由向量x1和y1表示。 set.seed(100) x1<-round(runif(10000,min=1,max=5),0) #random values [1;2;3;4;5] x2<-runif(10000,min=0,max=1) #random num (0,1] 我要計算與下表「rvps」的幫助下,新的向量xx。 rvps

    2熱度

    1回答

    我有一個非常大的數據集的形狀(T,N),我想在numpy.correlate計算在Python自相關函數,如:(!) c[k] = sum_n sum_t a[t, n] * a[t+k, n] 但所有樣品N和不求和使用一個for循環。根據「有效」模式進行計算就足夠了。但是,這個函數只允許一維數組。有沒有快速的方法來做到這一點?

    -1熱度

    1回答

    我想優化這段代碼。我在向量上使用函數fminbnd,並使用循環將其單個條目上的任務分開。 是否有可能加速向量化過程? for i = 1:A for ii= 1:B for iii = 1:C fun = @(x) (x * variable(i,ii,iii))^2 ; [arg_min(i,ii,iii), min_(i,ii,iii)

    0熱度

    1回答

    如何向量化構造的R函數以便可以計算序列? 原始功能是: A = function(j,x){ if(x<0 & x>j){stop(print(1))} else{ s=0 for(k in 0:x){ s = s + ((j-1) * ((2)^k) * x) } } return(s) } 和我要添加的外環,讓我跑

    4熱度

    3回答

    我想用一種快速方法爲其分配一個具有布爾評估的函數。這是一個簡單的例子。我想任意a和b待評估下列函數: a = 0.5 b = 0.6 def func(x): x=max(x,a) if x>b: return x**2 else: return x**3 ,然後我想將函數值分配到一個陣列中的矢量方式(速度): xRange = np.

    0熱度

    2回答

    示例代碼與NumPy的ufunc: import numpy as np nums = np.array([1, 2, 3]) times = nums.astype('timedelta64[ns]') np.less(nums, 2) np.less(nums, np.timedelta64(2)) 這兩項均得到相同的結果: array([ True, False, False

    4熱度

    3回答

    我試圖匹配圖像中的RGB值。 % R G B RGBset = [ 3 9 12; 4 8 13; 11 13 13; 8 3 2] img(:,:,1) = [1 2 3 6 5 4 7 9 8 10 11 12]; img(:,:,2) = [3 4 8; 6 7 8;

    0熱度

    2回答

    您能給出AVX2中的條件指令列表嗎? 到目前爲止,我已經找到了以下內容: _mm256_blendv_ *從a和b選擇基於面具c 是否有類似條件乘法和條件增加,等等? 此外,如果指令採取imm8計數(如_mm256_blend_ *),您可以解釋如何在矢量比較後獲得imm8?

    -1熱度

    1回答

    如果我有: x = np.asarray([[1,2],[3,4],[5,6]]) 而且我想創建: y = np.asarray([1,4,5]) 爲了做到這一點,我建立了一個數組如下: inds = np.asarray([[0,0],[1,1],[2,0]]) ,我又把它傳給x如下: y = x[inds] 這不會產生由行中inds索引的元素。我如何以這種方式實現這一功能,或者

    5熱度

    1回答

    是否有將AVX寄存器的64位組件的高/低32位組件重新打包到SSE寄存器的內在或另一種有效方法?使用AVX2的解決方案是可以的。 到目前爲止我用下面的代碼,但探查說,這是對Ryzen 1800X慢: // Global constant const __m256i gHigh32Permute = _mm256_set_epi32(0, 0, 0, 0, 7, 5, 3, 1); // ..