Tehmina
Posts:
5
Registered:
4/10/13
|
|
Re: Creating Adjacency Matrix from a dataset
Posted:
Apr 16, 2013 10:39 AM
|
|
"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kk3bb6$e55$1@newscl01ah.mathworks.com>... > "Tehmina" wrote in message <kk33jl$nl2$1@newscl01ah.mathworks.com>... > > "Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kk0n50$639$1@newscl01ah.mathworks.com>... > > > A=[0 1 > > > 0 2 > > > 0 5 > > > 1 2 > > > 1 3 > > > 1 4 > > > 2 3 > > > 2 5 > > > 3 1 > > > 3 4 > > > 3 5 > > > 4 0 > > > 4 2 > > > 5 2 > > > 5 4]; > > > > > > >> accumarray(A+1,1) > > > > > > ans = > > > > > > 0 1 1 0 0 1 > > > 0 0 1 1 1 0 > > > 0 0 0 1 0 1 > > > 0 1 0 0 1 1 > > > 1 0 1 0 0 0 > > > 0 0 1 0 1 0 > > > > > > % Bruno > > > > hi Bruno Luong > > thanks for the solution and your time. this solution works well with small example. the actuall size of dataset i am working on is big. it has 1049866 rows in array A. and when i applied your solution to that dataset it gives me following error massege: > > > > ??? Error using ==> accumarray > > Maximum variable size allowed by the program is exceeded. > > > > now what shud i do? plz help > > Thanks > > > > Create in sparse format: > > accumarray(A+1,1,[],[],0,true) > > or equivalently use sparse() command > > sparse(A(:,1)+1,A(:,2)+1,1) > > % Bruno
Thanks a lot for your help i have used ur sparse commad and it works well. now i have another problem the following is my code:
%% Sparse power method n = 425875; i = data(:,[1]); j = data(:,[2]); G=sparse(data(:,1)+1,data(:,2)+1,1);
%% Page Rank p = 0.85; delta = (1-p)/n; c = sum(G,1); k = find(c~=0); D = sparse(k,k,1./c(k),n,n); e = ones(n,1);j I = speye(n,n); x = (I - p*G*D)\e; x = x/sum(x)
over here this command is taken from ur help G=sparse(data(:,1)+1,data(:,2)+1,1); only A is replaced with data
but the command D = sparse(k,k,1./c(k),n,n); is giving error the following is the error msg
??? Error using ==> sparse Index exceeds matrix dimensions.
Error in ==> reading2 at 14 D = sparse(k,k,1./c(k),n,n);
can u plz correct this statement thanks for ur time....
|
|