例:
对某件衣服的评判,评判因素有:色彩u1、做工u2、面料u3、款式u4;它构成论域U={u1, u2, u3, u4}。
仅色彩讲,假设70%评委认为是“好”、20%为较好、5%为较差、5%为差
则色彩评价为: r1 = {0.7, 0.2, 0.05, 0.05};
同理:r2 = {0.5,0.1,0.2, 0.2}; r3 = {0.6, 0.2, 0.1, 0.1}; r4 = {07, 0.2, 0.1, 0};
写成评价矩阵R为:
0.7, 0.2, 0.05, 0.05
0.5, 0.1, 0.2, 0.2
0.6, 0.2, 0.1, 0.1
07, 0.2, 0.1, 0
假设权重为:色彩0.3,做工0.3,面料0.1,款式0.3:
A = {0.3, 0.3, 0.1, 0.3};
所以评委对这件衣服的综合评价为:
B = A。R;
c代码如下:
#include "stdio.h"
#include "math.h"
#define MAX(a, b) (a>b?a:b)
#define MIN(a, b) (a<b?a:b)
void main()
{
int i, j, k;
double A[4][4] = {0.7, 0.2, 0.05, 0.05, 0.5, 0.1, 0.2, 0.2, 0.6, 0.2, 0.1, 0.1, 0.7, 0.2, 0.1, 0};
double B[4]= {0.3, 0.3, 0.1, 0.3};
double temp[4] = {0};
double Y[4];
double max, min;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
temp[j] = MIN(B[j], A[j][i]); //模糊集中A交B
max = temp[0];
for(j=1; j<4; j++)
max = MAX(max, temp[j]);
Y[i] = max;
}
printf("综合评判为:\n");
for(i=0; i<4; i++)
printf("%4lf", Y[i]);
printf("\n");
}