FuzzyMathematicalModel模糊数学模型-1-多层次模糊综合评价案例分享

该程序首先加载data.txt文件中的数据,然后对数据进行归一化处理。接着,构建模糊决策矩阵,并计算M+和M-的距离,进一步求得隶属度。最终,按隶属度降序排序结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据:data.txt

290 85 90 100 75 80 85 60 70 75 50 55 60

288 85 90 100 75 80 85 85 90 100 60 70 75

288 75 80 85 85 90 100 50 55 60 60 70 75

285 85 90 100 75 80 85 75 80 85 75 80 85

283 75 80 85 85 90 100 75 80 85 60 70 75

283 75 80 85 50 55 60 85 90 100 75 80 85

280 85 90 100 75 80 85 60 70 75 75 80 85

280 75 80 85 85 90 100 85 90 100 60 70 75

280 75 80 85 75 80 85 85 90 100 75 80 85

280 50 55 60 60 70 75 85 90 100 60 70 75

278 50 55 60 60 70 75 75 80 85 85 90 100

277 85 90 100 75 80 85 60 70 75 85 90 100

275 75 80 85 60 70 75 50 55 60 85 90 100

275 50 55 60 75 80 85 85 90 100 75 80 85

274 85 90 100 75 80 85 60 70 75 75 80 85

273 75 80 85 85 90 100 75 80 85 60 70 75

完整程序:

clc, clear

load data.txt

sj = [repmat(data(:,1),1,3), data(:,2:end)]; % 将第一列的成绩值也采用同样的方式扩展

% 此时数据一列为一个指标,一行为一个样本

% 归一化处理

n = size(sj,2)/3;

m = size(sj,1);

w = [0.5*ones(1,3), 0.125*ones(1,12)]; % 五项指标的权重向量(5x3)

w = repmat(w,m,1);

y = [];

for i = 1:n

tm = sj(:,3*i-2:3*i);

max_t = max(tm);

max_t = repmat(max_t, m, 1);

max_t = max_t(:,3:-1:1);

yt = tm./max_t;

yt(:,3) = min([yt(:,3)'; ones(1,m)]);

y = [y,yt];

end

% 求解模糊决策矩阵

r = [];

for i = 1:n

tm1 = y(:,3*i-2:3*i);

tm2 = w(:,3*i-2:3*i);

r = [r, tm1.*tm2];

end

% 求M+和M-的距离

m_plus = max(r);

m_minus = min(r);

d_plus = dist(m_plus,r');

d_minus = dist(m_minus,r');

% 求隶属度

mu = d_minus./(d_minus+d_plus);

[mu_sort, ind] = sort(mu, 'descend')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习不好的电气仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值