📄 hastib.m
字号:
function [p] = hastib(r,k,n,initial_guess,epsilon)
p = initial_guess;
mu = zeros(k);
for i = 1:k
for j = 1:k
mu(i,j) = ((p(i))/(p(i)+p(j)));
end;
end;
go = 1;
i = 1;
count = 0;
global_count = 0;
while go
global_count = global_count + 1;
num = 0;
denom = 0;
for j = 1:k
if i == j
else
num = num + (n(i,j)*r(i,j));
denom = denom + (n(i,j)*mu(i,j));
end
end
alpha = num/denom;
for j = 1:k
if i == j
else
mu(i,j) = ((alpha*mu(i,j)) / ((alpha*mu(i,j))+(mu(j,i))));
mu(j,i) = 1 - mu(i,j);
end
end
if (isnan(alpha) | isinf(alpha))
go = false;
else
p(i) = alpha * p(i);
end
if abs(alpha - 1) < epsilon
count = count + 1;
else
count = 0;
end
if count >= k
go = false;
end
i = i + 1;
if i > k
i = 1;
end
if global_count == 30000
go = false;
end
end
temp = p;
p = temp/(sum(temp));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -