Sunteți pe pagina 1din 5

Moraru Maria Luminita

MPI

Simulation of the activities in the small scale example in C1_L1_MFDA


H1_1. Pentru reprezentarea variabilei boolene am folosit urmatoarea functie:

function [ B ] = plot_boolean( t )

if (nargin == 0)

t = [5, 10, 20, 25 ];

end

k=1;

B=zeros(size(2:50));

for i = 2:50

if i == t(k)

B(i) = mod(B(i - 1) + 1, 2);

k = k + 1;

else

B(i) = B(i - 1);

end

if k > size(t)

if (B(i) == 1)

B(1,i:50)=ones(1,50-i+1);

end

break

end

end

plot(B);

end

Prin apelarea functiei fara parametrii, de tipul : ” plot_boolean()” se obtine un grafic cu valorile
predefinite ale variabilelei boolene.

Prin apelarea functiei cu un parametru care contine momentele de timp in care au loc tranzitii de stare
sau evenimente, se construieste iterativ vectorul cu valorile boolene si apoi se traseaza grafic variabila.

Functia are ca parametru de iesire vectorul cu valorile variabilelei boolene la fiecare moment de timp
din domeniul definit.
Moraru Maria Luminita
MPI

H1_2

function [ ] = plot_evolution( ea, eb , ta, tb )

%initializare parametrii

BG1=zeros(1,100);

BG2=zeros(1,100);

BS=zeros(1,100);

nea=size(ea,2);

neb=size(eb,2);

nta=size(ta,2);

ntb=size(tb,2);

k1=1;

k2=1;

k3=1;

k4=1;

ea=ea*10;

ta=ta*10;

eb=eb*10;

tb=tb*10;

for i = 2:100

if BG1(i-1) == 0 && BG2(i-1) == 0 && BS(i-1) == 0 && ea(k1) == i

BG1(i:end) = ones(1,100-i+1); %daca apare un eveniment ea si G1,G2 nu au activitate, iar


supervizorul o permite, G1 isi incepe activitatea

k1=k1+1;

end

if BG1(i-1) == 1 && BG2(i-1) == 0 && BS(i-1) == 0 && ta(k3) == i

BS(i:end) = ones(1,100-i+1); %daca apare un eveniment de tip ta, G1 proceseaza si supervizorul este
neocupat, supervizorul isi schimba starea

BG1(i:end) = zeros(1,100-i+1);%G1 inceteaza activitatea


Moraru Maria Luminita
MPI

k3=k3+1;

end

if BG1(i-1) == 0 && BG2(i-1) == 0 && BS(i-1) == 1 && eb(k2) == i

BG2(i:end) = ones(1,100-i+1); %daca apare eb, supervizorul permite si amandoi agentii stau, G2
incepe activitatea

k2=k2+1;

end

if BG1(i-1) == 0 && BG2(i-1) == 1 && BS(i-1) == 1 && tb(k4) == i

BG2(i:end) = zeros(1,100-i+1); % daca apare tb, supervizorul permite, G2 termina activitatea

BS(i:end) = zeros(1,100-i+1); %supervizorul isi schimba starea

k4=k4+1;

end

if k1 > nea

k1 = k1 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului ea

end

if k2 > neb

k2 = k2 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului eb

end

if k3 > nta

k3 = k3 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului ta

end

if k4 > ntb

k4 = k4 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului tb

end

if ea(k1) < i

k1 = k1 +1; % daca elementul curent din vectorul ea este un moment anterior momentului curent i,
se trece mai departe in evaluarea urmatorului moment de timp
Moraru Maria Luminita
MPI

end

if eb(k2) < i

k2 = k2 + 1; % daca elementul curent din vectorul eb este un moment anterior momentului curent i,
se trece mai departe in evaluarea urmatorului moment de timp

end

if ta(k3) < i

k3 = k3+1; % daca elementul curent din vectorul ta este un moment anterior momentului curent i,
se trece mai departe in evaluarea urmatorului moment de timp

end

if tb(k4) < i

k4 =k4+1; % daca elementul curent din vectorul ea este un moment anterior momentului curent i,
se trece mai departe in evaluarea urmatorului moment de timp

end

if k1 > nea

k1 = k1 - 1 ; % folosit pentru a evita erori matlab de parcurgere a vectorului ea

end

if k2 > neb

k2 = k2 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului eb

end

if k3 > nta

k3 = k3 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului ta

end

if k4 > ntb

k4 = k4 - 1; % folosit pentru a evita erori matlab de parcurgere a vectorului tb


Moraru Maria Luminita
MPI

end

end

subplot(3,1,1);

plot(BG1)

title('BG1')

subplot(3,1,2);

plot(BG2)

title('BG2')

subplot(3,1,3);

plot(BS)

title('BS')

end

Functia primeste ca parametrii vectori cu momentele de timp cand se petrec evenimentele de tip ea, eb,
ta si tb. Apoi variabilele boolene pentru reprezentarea fiecarui agent se contruiesc la fiecare moment.
Aici se observa interventia supervizorului asupra fiecarui agent. Daca a aparut un eveniment de tip ea,
G1 isi incepe activitatea ( adica trece in 1), iar G2 ramane inactiv, el fiind inhibat de supervizor sa poata
incepe activitatea. Numai dupa ce G1 isi termina activitatea la un eveniment de tip ta, supervizorul va
trece in 1 si ii va permite lui G2 sa isi inceapa activitatea, inhibandu-l pe G1 sa isi inceapa din nou
activitatea. Aceste particularitati se pot observa grafic din trasarea grafica de la finalul functiei.

Pentru reprezentarea intercativitatii se pot da de la tastatura momentele de timp la care apar


evenimentele ea, ta, eb, tb si observa evolutia sistemului in functie de acestea.

S-ar putea să vă placă și

  • Imperiul Roman
    Imperiul Roman
    Document4 pagini
    Imperiul Roman
    Moraru Maria
    Încă nu există evaluări
  • Mfda Tema1 Moraru PDF
    Mfda Tema1 Moraru PDF
    Document5 pagini
    Mfda Tema1 Moraru PDF
    Moraru Maria
    Încă nu există evaluări
  • Mfda
    Mfda
    Document2 pagini
    Mfda
    Moraru Maria
    Încă nu există evaluări
  • Holl
    Holl
    Document2 pagini
    Holl
    Moraru Maria
    Încă nu există evaluări
  • Adolf Hitler
    Adolf Hitler
    Document7 pagini
    Adolf Hitler
    moraru_mihai7571
    Încă nu există evaluări
  • Dig Erland
    Dig Erland
    Document2 pagini
    Dig Erland
    Moraru Maria
    Încă nu există evaluări
  • Limite Mater I e 2012
    Limite Mater I e 2012
    Document5 pagini
    Limite Mater I e 2012
    Moraru Maria
    Încă nu există evaluări
  • Autori Canonici Bac
    Autori Canonici Bac
    Document1 pagină
    Autori Canonici Bac
    Moraru Maria
    Încă nu există evaluări
  • Fise
    Fise
    Document22 pagini
    Fise
    Moraru Maria
    Încă nu există evaluări
  • Debate 1
    Debate 1
    Document1 pagină
    Debate 1
    Moraru Maria
    Încă nu există evaluări
  • Olimpiada de Matematica - Etapa Judeteana 2011 - Clasa A VII A
    Olimpiada de Matematica - Etapa Judeteana 2011 - Clasa A VII A
    Document3 pagini
    Olimpiada de Matematica - Etapa Judeteana 2011 - Clasa A VII A
    anca0110
    100% (1)
  • Mate
    Mate
    Document1 pagină
    Mate
    Moraru Maria
    Încă nu există evaluări
  • Pedeapsa
    Pedeapsa
    Document1 pagină
    Pedeapsa
    Moraru Maria
    Încă nu există evaluări