Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Creating Adjacency Matrix from a dataset
Replies: 10   Last Post: Oct 7, 2016 1:01 AM

 Messages: [ Previous | Next ]
 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....

Date Subject Author
4/9/13 Guest
4/9/13 kinor
4/9/13 Bruno Luong
4/10/13 Guest
4/10/13 Bruno Luong
4/16/13 Tehmina
2/10/16 vignesh raju
2/11/16 Bruno Luong
10/29/13 Pramit Mazumdar
10/29/13 John D'Errico
10/7/16 Maziar Isapour