當前位置:編程學習大全網 - 編程語言 - 模式分類的matlab編程,程序提示函數的定義有問題 小弟剛學Matlab不久,請各位高手幫忙改壹下

模式分類的matlab編程,程序提示函數的定義有問題 小弟剛學Matlab不久,請各位高手幫忙改壹下

function g= f(x, m, C, p)

g = -((x-m)*( x-m)')/(2*C*C)+log(p);%%輸出應為g

end %%保存到當前目錄

%%%%%%%%%%%%%%%%%%%%%%%%%%

p1=0.5;

p2 = 1-p1;

w1 = [-5.01 -8.12 -3.68;...

-5.43 -3.48 -3.54;...

1.08 -5.52 1.66;...

0.86 -3.78 -4.11;...

-2.67 0.63 7.39;...

4.94 3.29 2.08;...

-2.51 2.09 -2.59;...

-2.25 -2.13 -6.94;...

5.56 2.86 -2.26;...

1.03 -3.33 4.33];

w2 = [-0.91 -0.18 -0.05;...

1.30 -2.06 -3.53;...

-7.75 -4.54 -0.95;...

-5.47 0.50 3.92;...

6.14 5.72 -4.85;...

3.60 1.26 4.36;...

5.37 -4.63 -3.65;...

7.18 1.46 -6.66;...

-7.39 1.17 6.30;...

-7.50 -6.32 -0.31];

w3 = [5.35 2.26 8.13;...

5.12 3.22 -2.66;...

-1.34 -5.31 -9.87;...

4.48 3.42 5.19;...

7.11 2.39 9.21;...

7.17 4.33 -0.98;...

5.75 3.97 6.65;...

0.77 0.27 2.41;...

0.90 -0.43 -8.71;...

3.52 -0.36 6.43];

m1 = mean2(w1); C1 = std2(w1);

m2 = mean2(w2); C2 = std2(w2);

m3 = mean2(w3); C3 = std2(w3);%%計算均值和方差,mean是按列求均值,如果矩陣是多維矩陣,得到的是按列求平均後的值。mean2是求矩陣的平均值

% !!To students!!

% 10 samples are too small. Generate more samples using m1, m2, m3, C1, C2 and C3.

% and make the sum of all samples be 1000.

plot3(w1(:,1),w1(:,2),w1(:,3),'.');hold on;

plot3(w2(:,1),w2(:,2),w2(:,3),'.r');

plot3(w3(:,1),w3(:,2),w3(:,3),'.g');

grid on;

legend('w1','w2','w3');

g1= f(w1(1:10),m1,C1,p1);

g2= f(w2(1:10),m2,C2,1-p1);%%對應序號調整

if (g1>g2)

fprintf('test sample is classified to class w1\n');

else

fprintf('test sample is classified to class w2\n');

end

%%%%%%%%%%%%%%%%%

  • 上一篇:什麽是FTE(Full Time Equivalent)總數?
  • 下一篇:關於plc的pid控制
  • copyright 2024編程學習大全網