vectorization

    3熱度

    3回答

    在MATLAB中,有沒有一種更簡潔的方式來處理列的離散條件索引比使用for循環?這裏是我的代碼: x=[1 2 3;4 5 6;7 8 9]; w=[5 3 2]; q=zeros(3,1); for i = 1:3 q(i)=mean(x(x(:,i)>w(i),i)); end q 我的目標是取每列的一組值的前x%的平均值。上面的代碼工作,但我只是想知道是否有一個更簡

    1熱度

    3回答

    優化算法維爾赫夫我寫下面的函數在R. verhoeffCheck <- function(x) { ## calculates check digit based on Verhoeff algorithm ## note that due to the way strsplit works, to call for vector x, use sapply(x,verhoeffCheck)

    1熱度

    2回答

    我有第一個向量,讓我們假設x只包含1和-1。然後,我有第二個向量y,它由1,-1和零組成。現在,我想創建一個包含在索引中的向量z IA 1如果x[i]等於1和1 n個元素的先例之間(y[(i-n):i])向量y中存在... 更正式的:z <- ifelse(x == 1 && 1 %in% y[(index(y)-n):index(y)],1,0) 我正在尋找在R中創建這樣一個向量沒有循環或遞歸。

    2熱度

    4回答

    我有一個函數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,我想對variable data中的所有行的每一行應用排名函數。這是我目前的解決辦法,但我覺得有一種方法向量

    3熱度

    1回答

    我有一個單元陣列,其中每個元素由一個ids向量組成。我喜歡計算單元格數組中所有元素的聯合。這是我目前的解決辦法,但我覺得它可以矢量或有更優雅的解決方案: union_ids = union(encounter_ids{1},encounter_ids{2}); for i=3:1:numel(encounter_ids); union_ids = union(union_ids,enc

    1熱度

    1回答

    我想用手工矢量化一些C代碼,以便加速。爲此(單元處理器或CBE上的SPE),我想使用SIMD數學。代碼最初使用了一些物理矢量計算(速度,加速度等),因此在代碼的某些部分有很多操作,例如: ax=a*vx+b*rx; ay=a*vy+b*ry; az=d*vz+b*rz; 所以在這一點我考慮v程序和r的轉換爲向量(在SPE中,一個載體可含有4個單浮點值),所以在僞代碼它應該是這樣的 vect

    6熱度

    7回答

    大家好, 我是新來的R. 我有兩個面板數據文件,與列「ID」,「日期」和「RET」 文件A有一個比文件B更多的數據, 但我主要使用文件B數據。 「id」和「date」的組合是unqiue唯一標識。 是否有一種在B中查找每個(id,date)的elegent方法,我需要從文件A中取回過去10天,並將它們存儲回B? 我做這件事的天真的方法是進行循環您在B中的所有行, for i in 1:length

    1熱度

    1回答

    所以我試圖用這個代碼是找到一個圖像的一行低於某個閾值的所有像素。然而,問題是這個代碼是在一個double for循環中執行的(是的,我知道:(),每個像素一次,因此它非常慢,我想知道是否還有其他事情可以做, 有些技巧會很棒,因爲我對MATLAB優化非常陌生,並且我只知道基本知識(儘量不要使用循環,或者在內部函數中多次調用腳本等)。如果這樣做不成功,我可能不得不求助於MEX文件,那將是難以維持我的組

    34熱度

    7回答

    想象一下,您的序列非常長。什麼是尋找區間的最有效的方式,其中序列是全零(或更精確的順序下降到接近零值abs(X)<eps): 爲了簡單起見,讓我們假設按以下順序: sig = [1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0]; 我試圖獲得以下信息: startIndex EndIndex Duration 3 6

    1熱度

    1回答

    在我的項目我使用Eigen C++庫的線性代數和只有當我打開矢量化標誌(mfpu =霓虹燈-mfloat-abi = softfp)對於ARM NEON,我得到編譯器錯誤。我無法理解發生了什麼問題。我是否需要在Eigen Library中爲ARM NEON啓用任何預處理器指令? 的main.c #include<iostream> #include <Eigen/Core> // impor