- a=[0.1, 1.1;0.4, 2.1;1.0, 0.8;1.0, 1.6;1.2, 1.2;1.3, 1.6;1.5, 1.5;1.5, 2.2;1.8, 1.1;2.1, 2.0]
- b=[1.7, 1.8;2.0, 2.2;2.1, 3.0;2.5, 1.5;3.0, 2.3;3.2, 2.8;3.5, 1.5;3.7, 2.4;3.8, 3.4;4.5, 1.4]
- //build the mode of apple
- mA=zeros(1,2);
- for m=1:10,
- mA=a(m,:)+mA;
- end
- mA=mA/10;
- CA=zeros(2,2);
- for m=1:10,
- CA=CA+(a(m,:)-mA)'*(a(m,:)-mA);
- end
- CA=CA/9;
- //build the model of orange
- mB=zeros(1,2);
- for m=1:10,
- mB=b(m,:) + mB;
- end
- mB=mB/10;
- CB=zeros(2,2);
- for m=1:10,
- CB=CB+(b(m,:)-mB)'*(b(m,:)-mB);
- end
- CB=CB/9;
- //calculating P(unknown)
- c = [1.2, 2.1; 2.6, 1.8; 1.9, 1.9];
- function[pdf]=P(class, cov, mea);
- pdf =(1/(2 * %pi * det(cov)^1/2)) ^ (-1/2*(class-mea )’ * det(cov) * (class-mea));
- endfunction
- for m=1:3,
- if P(c(m,:), CA, mA) > P(c(m,:), CB, mB) then
- printf("%g, %g is Apple\n", c(m,1), c(m,2) );
- else
- printf("%g, %g is Orange\n", c(m,1), c(m,2) );
- end
- end