Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Brzina u Mathematici
Idite na Prethodno  1, 2
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - ozbiljno -> Računala (općenito)
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
alen
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 10. 2005. (23:25:58)
Postovi: (221)16
Sarma = la pohva - posuda
132 = 230 - 98

PostPostano: 13:28 sub, 4. 10. 2008    Naslov: Citirajte i odgovorite

Uspio sam, izgleda da je najbolji način da se radi samo sa SparseArray, bez Graph. Evo, ak nekom zatreba dost brzi kod za graf dobiven preferencijalnim povezivanjem u mathematici:

[code:1]N0 = 2;
II = 1000;
m = 2;
A = SparseArray[{{i_, j_} /; N0 + 1 > j > i -> 1}, {II, II}];
a = Table[N0 - 1, {N0}];
ProgressIndicator[Dynamic[k], {N0, II}]
Monitor[For[k = N0 + 1, k <= II, k++,
prefodbrid = RandomSample[a -> Range[k - 1], m];
For[j = 1, j <= m, j++, A[[prefodbrid[[j]], k]] = 1;
a[[prefodbrid[[j]]]]++;]; a = Append[a, m];
], k][/code:1]

Za prikaz je onda jednostavno

[code:1]G = FromAdjacencyMatrix[Normal[A]];
GraphPlot3D[G,
VertexRenderingFunction -> ({Sphere[#1,
3*(Degrees[G]/(2*M[G]))[[#2]]]} &),
EdgeRenderingFunction -> (Cylinder[#1, 0.003] &),
Method -> HighDimensionalEmbedding][/code:1]
jedino, na početku treba dodat 2 paketa da bi se prepoznale FromAdjacencyMatrix, Degrees i M, sam se doda
[code:1]<< Combinatorica`
Needs["GraphUtilities`"][/code:1]
Uspio sam, izgleda da je najbolji način da se radi samo sa SparseArray, bez Graph. Evo, ak nekom zatreba dost brzi kod za graf dobiven preferencijalnim povezivanjem u mathematici:

Kod:
N0 = 2;
II = 1000;
m = 2;
A = SparseArray[{{i_, j_} /; N0 + 1 > j > i -> 1}, {II, II}];
a = Table[N0 - 1, {N0}];
ProgressIndicator[Dynamic[k], {N0, II}]
Monitor[For[k = N0 + 1, k <= II, k++,
  prefodbrid = RandomSample[a -> Range[k - 1], m];
  For[j = 1, j <= m, j++, A[[prefodbrid[[j]], k]] = 1;
   a[[prefodbrid[[j]]]]++;]; a = Append[a, m];
  ], k]


Za prikaz je onda jednostavno

Kod:
G = FromAdjacencyMatrix[Normal[A]];
GraphPlot3D[G,
 VertexRenderingFunction -> ({Sphere[#1,
      3*(Degrees[G]/(2*M[G]))[[#2]]]} &),
 EdgeRenderingFunction -> (Cylinder[#1, 0.003] &),
 Method -> HighDimensionalEmbedding]

jedino, na početku treba dodat 2 paketa da bi se prepoznale FromAdjacencyMatrix, Degrees i M, sam se doda
Kod:
<< Combinatorica`
Needs["GraphUtilities`"]



_________________
Između ostalog, mislim da bi kolegij mjera i integral trebao imati svoj podforum među kolegijima treće godine
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - ozbiljno -> Računala (općenito) Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2
Stranica 2 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan