this is my last code
function sparse_CSR3(M)
m = length(M);
i = 1 ;
%val = 0 ;
k=1;
if isempty(M)
n = 0 ;
else
% n = height(M);
[n,~] = size(M);
[row,col,value]=find(M);
end
NNZ = 0;
JA = zeros(m,1);
IA = zeros(n,1);
val = zeros(n,1);
%val = 0;
while i < n+1
j = 1;
while j < m+1
if M(i,j)~=0
val(k)=M(i,j);
JA(k) = j ;
NNZ = NNZ + 1 ;
k=k+1;
end
j=j+1;
end
IA(i) = NNZ;
i=i+1;
end
disp(M);
disp(val.');
disp(IA.');
disp(JA.');
end
my result is :
0 0 0 0 1
5 8 0 0 0
0 0 3 0 0
0 6 0 0 1
1 5 8 3 6 1
1 3 4 6
5 1 2 3 2 5
the result should be
0 0 0 0 1
5 8 0 0 0
0 0 3 0 0
0 6 0 0 1
1 5 8 3 6 1
1 2 4 5 7
5 1 2 3 2 5