我已經編寫了一些數據的概率的基本代碼。它工作並給出了我想要得到的結果。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文件,並將其作爲概率(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 =長度(A(:)) – Vidar 2011-12-21 16:24:42