-
Notifications
You must be signed in to change notification settings - Fork 0
/
Main.m
74 lines (74 loc) · 2.95 KB
/
Main.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
% Dies ist die Main Funkton,von hier aus können alle funktionen benutzt werden
%% Beispiel wie Figur 1A auswählen
clear;Bild1;Netzwerk=Figur1A;Meinungen=MeinungenF1; %#ok<NASGU>
%% Beispiel wie Figur 1B auswählen
clear;Bild1;Netzwerk=Figur1B;Meinungen=MeinungenF1; %#ok<NASGU>
%% Beispiel wie Figur 1C auswählen
clear;Bild1;Netzwerk=Figur1C;Meinungen=MeinungenF1; %#ok<NASGU>
%% Beispiel wie Figur 1D auswählen
clear;Bild1;Netzwerk=Figur1D;Meinungen=MeinungenF1; %#ok<NASGU>
%% Beispiel wie Figur 5 auswählen
clear;Bild5;Netzwerk=Figur5;Meinungen=MeinungenF5; %#ok<NASGU>
%% Beispiel wie Figur 6.1 auswählen
clear;Bild6;Netzwerk=Figur61;Meinungen=MeinungenF61; %#ok<NASGU>
%% Beispiel wie Figur 6.2 auswählen
clear;Bild6;Netzwerk=Figur62;Meinungen=MeinungenF62; %#ok<NASGU>
%% Beispiel wie Figur 9 auswählen
clear;Bild9;Netzwerk=Figur9;Meinungen=MeinungenF9; %#ok<NASGU>
%% Beispiel mit nur einem isolierten Block
clear;BspIsoBlock;Netzwerk=IsoBlock;Meinungen=MeinungenIB; %#ok<NASGU>
%% Beispiel mit stark zusammenhängendem Graphen
clear;StrongConn;Netzwerk=StrCon;Meinungen=MeinungenSC;
%% Meinungen Randomisieren
Meinungen=MeinungsRandom(Meinungen);
%% Test zu AdjaZuLaplace Funktion
L=AdjaZuLaplace(Netzwerk);
[EigVekt,~]=eig(L);
EigVal=eig(L);
lamda2=sort(EigVal(:));
lamda2=lamda2(2);
%% Testet deterministisches Modell
Gd = digraph(Netzwerk);
Gd.Nodes.Meinungen=Meinungen;
[Gd,plotdataD]=MeinungVerbreitenD(Gd,1,0,0,0.25,[-0.75,0.75]);
%% Testet stochastisches Modell
Gs = digraph(Netzwerk);
Gs.Nodes.Meinungen=Meinungen;
[Gs,plotdataS]=MeinungVerbreitenS(Gs,1,0);
%% Zeichnen und Einfärben des Graphen
Zeichnung(Netzwerk, Meinungen, Gd, plotdataD, Gs, plotdataS);
%% 10-facher Durschschnitt für Figur 9
Bild9;Netzwerk=Figur9;
load('./Data/MeinungenFigur9.mat');
Gs = digraph(Netzwerk);
Gs.Nodes.Meinungen=MeinungenCopy;
%Kanten der isolierten Blöcke zum absorbierenden hin
%Rot
Gs.Edges.Weight(7) = 1;
Gs.Edges.Weight(8) = 1;
Gs.Edges.Weight(9) = 1;
Gs.Edges.Weight(10) = 1;
Gs.Edges.Weight(11) = 1;
Gs.Edges.Weight(12) = 1;
%Blau
Gs.Edges.Weight(1) = 1;
Gs.Edges.Weight(2) = 1;
Gs.Edges.Weight(3) = 1;
Gs.Edges.Weight(4) = 1;
Gs.Edges.Weight(5) = 1;
Gs.Edges.Weight(6) = 1;
%Simulation der Daten
%WICHTIG für manche Beispiele muss in der Funktion MeinungVerbreitengS gewisser Code auskommentiert werden
[Gs0,plotdataS0]=MeinungVerbreitenS(Gs,10,0);
[Gs1,plotdataS1]=MeinungVerbreitenS(Gs,10,0);
[Gs2,plotdataS2]=MeinungVerbreitenS(Gs,10,0);
[Gs3,plotdataS3]=MeinungVerbreitenS(Gs,10,0);
[Gs4,plotdataS4]=MeinungVerbreitenS(Gs,10,0);
[Gs5,plotdataS5]=MeinungVerbreitenS(Gs,10,0);
[Gs6,plotdataS6]=MeinungVerbreitenS(Gs,10,0);
[Gs7,plotdataS7]=MeinungVerbreitenS(Gs,10,0);
[Gs8,plotdataS8]=MeinungVerbreitenS(Gs,10,0);
[Gs9,plotdataS9]=MeinungVerbreitenS(Gs,10,0);
average=(plotdataS0(:,end)+plotdataS1(:,end)+plotdataS2(:,end)+plotdataS3(:,end)+plotdataS4(:,end)+...
plotdataS5(:,end)+plotdataS6(:,end)+plotdataS7(:,end)+plotdataS8(:,end)+plotdataS9(:,end))./10;
%%