Я написал базовый код для вероятности некоторых данных. Он работает и дает мне результаты, чего я хочу получить.простой код вероятности в matlab
A=[2 3 5 4 4 4 5 2 3 2 3]
a=length(A);
b=unique(A);
for i=1:length(b)
T(i)=sum(A(:)==b(i));
prob(i)=T(i)./a;
end
Я не могу понять, как использовать этот код как функцию. Я сохранил следующий код как M-файл и назвал его как prob (A) для любой матрицы, но он не работает. Не могли бы вы рассказать мне свою ошибку?
function z=prob(A)
a=length(A);
b=unique(A);
for i=1:length(b)
T(i)=sum(A(:)==b(i));
pr(i)=T(i)./a;
z=pr(i);
end
return
end
Если A разрешено чтобы быть матрицей, я бы осторожно использовал длину (А), чтобы получить количество элементов. Либо используйте [rows colms] = size (A); a = rows * colms. Или, a = length (A (:)) – Vidar