Matlab 程序如下:
x=[ 0, 0, 0, 1;0, 1, 0, 2;1, 1, 0, 3;1, 0, 1, 4;2, 0, 1, 4;2, 0, 2, 4;1, 0, 2, 5;0, 0,1, 6;0, 2, 0, 7;
0, 2, 1, 8;0, 2, 2, 9] ; %初始数据;
y=[ '2' , '3' , '4' , '5'] ; %标记;
decision=zeros(11, 11) ; %初始化z 矩阵;
for i=1:11 % decision 矩阵的行;
z( i, i) =0; %对角线为0;
for j=i+1:11 %z 矩阵的列;
s='0' ; %标记矩阵;
for n=1:4
if x( i, n)~=x( j, n) %对每个数值进行比较;
k=y(n) ;
s=[s, k];
else if x( i, 4)~=x( j, 4)
k='0' ; %储存标记字符;
end
end
z(j,i) =str2num(s) ; %字符转化为数值;
end
end
end
x
z %输出结果矩阵
“2”“3”“4”分别对应原条件属性的S1,S2,S3;
“5”对应于决策属性。
表5是对Matlab 程序运用的结果进行整理而得到的约简后的故障诊断决策表。