1 / 20

OCTAVE

OCTAVE. Octave http://octave.sourceforge.net/ Octave è uno stumento di calcolo di alto livello . Permette di risolvere problemi di analisi numerica lineari e non lineari . Il linguaggio usato è compatibile con Matlab. Alternative a Matlab

urvi
Download Presentation

OCTAVE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OCTAVE

  2. Octave http://octave.sourceforge.net/ Octave è unostumento di calcolo di alto livello. Permette di risolvereproblemi di analisinumericalineari e non lineari. Il linguaggiousato è compatibile con Matlab Alternative a Matlab http://www.dedoimedo.com/computers/scientific.html Scilab FeeMat Etc..

  3. OCTAVE • Aprire un file di Octave: dallafinestra di Octave: >>edit prova5.m • Per cambiarlo: >>edit prova5  save • Per lanciarlo >> prova5 • Per vedere la directory corrente >>pwd • Per risalire >>cd .. • Per entrare: >>cd nomedir • Per aggiungere un path addpath(genpath(‘C:/mfiles/’));savepath;

  4. OCTAVE • Come siinserisconomatrici e vettori • ; , • Come si opera con matrici e vettori • Grafici2-d • plot, hist (help)

  5. Programmi Matlab per il calcolo di misure di reti (G. Bounova) http://www.mit.edu/~gerganaa/downloads.html G. Bounova ha sviluppato diversi programmi MATLAB per il calcolo delle proprietà delle reti Li ho raccolti in «Bounova_nuovo». Calcolo dell’mst (algoritmo Prim’s) Calcolo del cammino minimo (Dijkstra) Calcolo del Clustering Calcolo del diametro Calcolo della lunghezza caratteristica Calcolo della distribuzione dei gradi Generare una ER network Generare una SF network Etc..

  6. Esercizio Dato seguente grafo Calcolare con Octave il cammino minimo l’albero di ricoprimento minimo, flusso massimo 2 2 3 4 1 1 3 2 2 3 3 6 8 3 3 Aggiungiamoilpercorso addpath(genpath(‘C:/programmi/Bounova_nuovo’));savepath; Inseriamo la matrice di adiacenza 2 9 7 5 4 2 A=[0 2 0 0 0 0 0 2 3 2 0 1 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 0 0 3 3 0 0 0 0 0 3 3 0 0 0 3 0 0 0 0 3 0 0 2 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 3 0 0 0 0 3 0 0 0 0 0 2 0 0]

  7. % prova1000.m clear A=[0 2 0 0 0 0 0 2 3 2 0 1 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 0 0 3 3 0 0 0 0 0 3 3 0 0 0 3 0 0 0 0 3 0 0 2 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 3 0 0 0 0 3 0 0 0 0 0 2 0 0]; %draw_circ_graph(A) % cammino minimo s=1; target=4; [dist,P]=dijkstra(A,s,target), % flusso massimo source=1; sink=4; capacity=A; nodes_number=9;max_flow=ff_max_flow(source,sink,capacity,nodes_number), % minimum spanningtree tr = min_span_tree(A),

  8. max Output: dist=8 P=1 8 5 4 max_flow =5 (5=2+1+2) 3 3 2 min(2,3,3)=2 2 2 3 4 1 min(2,1,3,3)=1 1 3 2 min(3,2,2,3)=2 2 3 3 6 8 3 Albero di ricoprimento minimo 3 2 9 7 5 4 2

  9. Esercizio Della rete precedente. Calcolare il diametro, la distanza caratteristica, i valori dei gradi diclustering,di betweennese di closenesscentrality. Fare gli istogrammi dei gradi, dei clustering,dellebetweennes e delle closenesscentrality. % prova2000.m clear A=[0 2 0 0 0 0 0 2 3 2 0 1 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 0 0 3 3 0 0 0 0 0 3 3 0 0 0 3 0 0 0 0 3 0 0 2 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 3 0 0 0 0 3 0 0 0 0 0 2 0 0]; …….

  10. …….. % grado medio m=numedges(A); n=numnodes(A); km =2*m/n; d2=link_density(A) ; %2*m/n/(n-1) diam= diameter(A); apl=ave_path_length(A); deg=degrees(A); subplot(221),hist(deg), title('degree'); clo=closeness(A); subplot(222),hist(clo), title('closeness'); bet=node_betweenness_slow(A); subplot(223),hist(bet), title('betweenness'); [C1,C2,C] = clust_coeff(A); subplot(224),hist(C), title('clustering'); %figure %draw_circ_graph(A)

  11. Proviamo a rifare lo stesso esercizio con Pajek: Da Octave generiamo il file provaPajek.net adj2pajek(A,’provaPajek.net’) *Vertices 9 1 "v1" 0.5776 0.7561 0.0000 2 "v2" 0.3545 0.9017 0.0000 3 "v3" 0.3451 0.1743 0.0000 4 "v4" 0.2520 0.4123 0.0000 5 "v5" 0.9702 0.0730 0.0000 6 "v6" 0.5191 0.6884 0.0000 7 "v7" 0.3946 0.2572 0.0000 8 "v8" 0.5388 0.0573 0.0000 9 "v9" 0.0498 0.8002 0.0000 *Edges 2 1 2 8 1 2 9 1 3 1 2 2 3 2 1 2 3 1 5 3 3 ........

  12. Proviamo a rifare lo stesso esercizio con Pajek: Aprire Pajek Posizionarsi su C:…./bin/ProvaPajek.net Net/transform/remove/multiple Line (max)

  13. Info/net/general Output Octave Km=5.3333 D2=0.6667 Diam=9 apl=5.1944 E=0.0046 Considera gli archi di peso 1 m=10; n=9 2*m/n=2.22 2*m/n=48/9=5.3333 Diametro=4

  14. Studiare la rete dining-table_partners.net del cap 1 Da Octave generiamo un file .m con la matrice di adiacenza %Pajek2adj.m % Thisprogramextracts an adjacencymatrix from a pajek text (.net) file % INPUT .net text filename, n - number of nodes in the graph % OUTPUT: adjacencymatrix, nxn, n - # nodes adj = pajek2adj(filename,n) adj = pajek2adj(dining-table_partners.net,26)

  15. Esercizio A Verificare che l’albero minimo del seguente grafo: è:

  16. Esercizio B Si consideri il seguente grafo Verificare che il cammino minimo da A a G è ABEG ed ha lunghezza 18

  17. Esercizio C Verificare che nel seguente grafo Nota: Octave ne fornisce uno dei 2. per ottenere l’albero di ricoprimento minimo si deve aggiungere un arco da H ad esempio ad A con peso 6 (peso max)

  18. Esercizio Inventare un grafo non diretto con 7 nodi Inserire la matrice di adiacenza in Octave e calcolare Cammino minimo tra due nodi a caso Flusso massimo tra gli stessi nodi Albero di ricoprimento minimo Distribuzione dei gradi Distribuzione delle betweenness e Distribuzione dei valori di clustering

More Related