vectorization

    2熱度

    2回答

    比方說,我有一個看起來這麼一個載體(數字總是會> 0)... [1, 2, 1, 4, 1, 2, 4, 3] 我需要一個量化的實現,資金將這些數字放在一起,並使用原始數字作爲存儲該數字的索引。所以,如果我運行它,我會得到... % step 1 [1+1+1, 2+2, 3, 4+4] % step 2 [3, 4, 3, 8] 我已經實現了這個使用for循環,但我覺得有來實現這

    0熱度

    2回答

    我有以下的功能完美的作品,但我想申請矢量它... for i = 1:size(centroids,1) centroids(i, :) = mean(X(idx == i, :)); end 它檢查是否idx當前指數相匹配,並且如果它它會計算與該索引對應的所有X值的mean值。 這是我嘗試在矢量化,我的解決方案不工作,我知道爲什麼... centroids = mean(X(id

    2熱度

    1回答

    我有一個的大數據幀控股用戶映射(索引)項的計數(列): users_items = pd.DataFrame(np.array([[0, 1, 1, 0], # user 0 [1, 0, 0, 0], # user 1 [5, 0, 0, 9], # user 2 [0, 3, 5, 0], # user 3

    1熱度

    2回答

    我想要特徵縮放2列的矩陣(X)。我使用的平均正常化,我寫在八度以下行: X_norm = X mu = mean(X); sigma = std(X); X_norm(:,1) = (X_norm(:,1) .- mu(:,1)) ./ sigma(:,1); X_norm(:,2) = (X_norm(:,2) .- mu(:,2)) ./ sigma(:,2); 能否請你讓我知道這

    2熱度

    1回答

    我花了一個多小時在我的代碼中追蹤一個導致精度錯誤的錯誤。事實證明,在我的一個等式中,我忘記了將兩個向量分解爲元素;我寫了/而不是./。通常,Matlab在這些情況下給出錯誤,例如,如果嘗試將兩個矢量與*而不是.*相乘。但在這種情況下,它很高興地返回一個標量值!這是否應該發生,這個值有什麼意義? 例如, x = 0 : 0.01 : 1; y = x/exp(x); 套y=0.3132。

    1熱度

    1回答

    運行得比較慢的行方向的點積給出一個矩陣甲具有形狀(N,K)和向量​​大小Ñ的小號,我要計算矩陣ģ具有形狀(K,K)如下: G + = S [I] * A [I] .T * A [I],對於所有我在{ 0,...,n-1} 我試圖實現,使用一個for循環(方法1),並在矢量方式(方法2),但對於循環實現更快ķ(特別是當k的較大值> 500)。 該代碼被寫爲如下: import numpy as np

    0熱度

    1回答

    我已經定義了一個矢量[0.11,1,3,4.5,7]。我還有一個功能f,其值爲[f(0.11),f(1),f(3),f(4.5),f(7)]。同時,我有另一個可能沒有固定長度的矢量。它的值和長度由用戶決定。爲簡單起見,假設向量爲[4,4.5,5,6]。在編程時我想按照以下步驟進行: 使用線性近似從給定的數據輸入中獲取近似值f(4), f(4.5), f(5) and f(6)。 我知道我可以使用f

    1熱度

    1回答

    我在MATLAB一2417按50結構數組,我試圖找到一個量化的方式來轉換某些字段類型: 我有字符列,我想轉換成字符串類型: [DataS.Sector] = string([DataS.Sector]); 但它不工作。我不想使用循環,因爲它花費了很多時間。 同樣的問題,但轉換爲數值。現在,我使用的一個循環,需要很長的時間: for i = 1:length(DataS) for j

    1熱度

    2回答

    我已經寫了一個函數,返回一個向量A,等於稀疏矩陣Sparse與另一個向量F的乘積。矩陣的非零值在Sparse(nnz),rowind(nnz)和colind(nnz)每個都包含Sparse每個特定值的行和列。通過do kx下的兩行矢量化(現在註釋的)內部循環相對簡單....我看不出如何矢量化外部循環,因爲pos對於不同的kx具有不同的大小。 問題是:外部循環(do kx = 1,nxy)是否可以被

    0熱度

    1回答

    我想在Matlab中用單元格對A和B進行塊矩陣乘法。更具體地假設: a= 1 1 2 2 1 1 2 2 3 3 4 4 3 3 4 4 b= 2 2 4 4 2 2 4 4 6 6 8 8 6 6 8 8 我們現在可以將a和b轉換爲包含它們的塊的單元數組。 A = mat2cell(a,[2,2],[2,2]) an