インデックスから個数を出して、それを全体で割ってあげると可能です。
前準備
rng(1,'philox')
X = randi([0 1], 3, 3, 100);
% 対角部分は同じ数字になるようにする
a = tril(ones(3), -1) == 1;
a = repmat(a, 1, 1, 100);
X(a) = 0;
X = X + permute(X,[2 1 3]);
%対角線部分は全て1とする
a = eye(3) == 1;
a = repmat(a, 1, 1, 100);
X(a) = 1;
A = reshape(permute(X, [2 1 3]), 1, [], 100);
B = squeeze(A)';
data=B(:,[4,7,8]);
data1= data * 2.^(0:2).';
計算
for i = 0:7
P(i+1)=sum(data1==i)/numel(data1);
end
P