[英]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.