Escolar Documentos
Profissional Documentos
Cultura Documentos
Questo 1.
Primeiramente, necessrio importar os dados e computar informaes
importantes a seu respeito. Essas informaes so:
soma: um vetor que contm a soma de cada linha da matriz A, sendo,
portanto, a quantidade de pessoas que disseram conhecer o aluno de
cada ndice.
somay: um vetor que contm a soma de cada coluna da matriz A. O
vetor fornece, portanto, a quantidade de pessoas que o aluno de cada
ndice disse conhecer.
v: o termo de amortecimento pela frmula = 1/.
b: o termo de amortecimento multiplicado pelo seu peso: =
(1 ) .
O cdigo que executa essas aes :
load DadosProjeto1.mat
n = 77;
alpha = 0.85;
for i = 1:n
soma(i) = sum(A(i, :));
somay(i) = sum(A(:, i));
v(i) = 1/n;
b(i) = (1-alpha)*v(i);
endfor
for i = 1:n
for j = 1:n
if (soma(j) != 0)
P(i,j) = A(j,i)/soma(j);
else
P(i,j) = 1/n;
endif
endfor
endfor
Aps esses passos, necessrio calcular a matriz P, cujos elementos
contm o valor da probabilidade do aluno j indicar o aluno i. Os clculos
desse passo so feitos seguindo a regra:
,
.
= {
1
,
Nesse caso, o nmero de conhecidos de j igual ao valor soma(j).
Isso implementado no seguinte cdigo:
for i = 1:n
for j = 1:n
if (soma(j) != 0)
P(i,j) = A(j,i)/soma(j);
else
P(i,j) = 1/n;
endif
endfor
endfor
= ( ) + (1 ) , = 1, ,
=1
( ) = (1 )
=1
disp("Representante:")
disp(maximo)
disp(RA{representante})
disp(soma(representante))
disp(somay(representante))
disp("")
disp("Vice-representante:")
disp(maximo2)
disp(RA{vrepresentante})
disp(soma(vrepresentante))
disp(somay(vrepresentante))
Questo 2.
Sim, possvel definir e a funo que determina de forma a ser eleito
representante da turma. Nesse caso, a frmula utilizada foi uma calculava o
valor absoluto do inverso da distncia do RA (utilizado como nmero) do
aluno at o nmero 170610 (meu RA) (o valor de cada foi depois dividido
pela soma do vetor , de forma que a soma continuasse igual a 1).
1
, 170610
= {(170610 )
1, = 170610
Isso pode ser visto no cdigo abaixo:
load DadosProjeto1.mat
RA2 = cell2mat(RA);
n = 77;
alpha = 0.85
valor = 1
for i = 1:n
soma(i) = sum(A(i, :));
somay(i) = sum(A(:, i));
if (RA2(i)!=170610)
v(i) = 1/abs(170610-RA2(i));
else
v(i) = valor;
endif
endfor
v=v/sum(v);
b = (1-alpha)*v;
Depois disso, o cdigo se manteve o mesmo. Houve, claro, uma alterao
no resultado final, que est mostrado abaixo:
Maior numero de indicados e indicacoes
19
20
Representante:
0.22624
170610
1
2
Vice-representante:
0.19261
184561
2
6