Octave
Download
1 / 20

OCTAVE - PowerPoint PPT Presentation


  • 158 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' OCTAVE' - urvi


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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..


Octave1
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;


OCTAVE

  • Come siinserisconomatrici e vettori

  • ; ,

  • Come si opera con matrici e vettori

  • Grafici2-d

  • plot, hist (help)


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..


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]


% 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),


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


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];

…….


……..

% 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)


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

........


Proviamo a rifare lo stesso esercizio con Pajek:

Aprire Pajek

Posizionarsi su C:…./bin/ProvaPajek.net

Net/transform/remove/multiple Line (max)


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


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)


Esercizio A

Verificare che l’albero minimo del seguente grafo:

è:


Esercizio B

Si consideri il seguente grafo

Verificare che il cammino minimo da A a G è ABEG ed ha lunghezza 18


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)


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


ad