簡體   English   中英

壓縮稀疏行的行指針

[英]Row pointers of Compressed Sparse Row

我想獲得壓縮稀疏行存儲的行指針。

clear all;
close all;
clc;

A = [55 0 0 49; 0 0 0 0; 0 0 73 0; 0 0 0 0];

n = size(A,1); % no of rows
m = size(A,2); % no of columns

CRS.values = [];
CRS.columns = [];
CRS.rowpointer = [];

counter = 0;
for i=1:n
  for j=1:m
    if (A(i,j) ~= 0)
      CRS.values = [CRS.values A(i,j)];
      CRS.columns = [CRS.columns j];
      CRS.rowpointer = [CRS.rowpointer i,i+1];
    end
  end
end

我試過上面的編碼。 CRS.values 是矩陣中非零值的數組。 CRS.columns 是矩陣非零元素的列索引數組。 我已經根據需要獲得了 CRS.values 和 CRS.columns。 但我無法獲得 CRS.rowpointer 數組。

CRS.rowpointer 的預期值為 Output:[ 1, 3, 3, 4, 4]

此更改可能有效(假設其 MATLAB;但未測試)

counter = 1;
CRS.rowpointer = [counter];
for i=1:n
  for j=1:m
    if (A(i,j) ~= 0)
      CRS.values = [CRS.values A(i,j)];
      CRS.columns = [CRS.columns j];
      counter += 1;
    end
    CRS.rowpointer = [CRS.rowpointer counter];
  end
end

這應該為每個i添加一個數字到CRS.rowpointer 該數字將是非零的累積數量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM