当前位置:网站首页>MATLAB skills (28) Fuzzy Comprehensive Evaluation
MATLAB skills (28) Fuzzy Comprehensive Evaluation
2022-07-05 08:27:00 【Mozun 2020】
MATLABPetit conseil(28)Évaluation globale floue
Préface
MATLABL'apprentissage lié au traitement d'images est très convivial,Peut commencer à zéro,Le traitement d'image de base a été encapsulé avec de nombreuses fonctions directement appelables,Dans cette série d'articles, nous présentons principalement quelques - uns desMATLABCertaines fonctions conceptuelles sont couramment utilisées dans la démonstration de routine!
La méthode d'évaluation globale floue est une méthode d'évaluation globale basée sur des mathématiques floues.La méthode d'évaluation complète transforme l'évaluation qualitative en évaluation quantitative basée sur la théorie du degré d'adhésion des mathématiques floues,C'est - à - dire faire une évaluation globale des choses ou des objets limités par de nombreux facteurs en utilisant des mathématiques floues.Il a des résultats clairs,Caractéristiques systématiques,Peut mieux résoudre le flou、Problèmes difficiles à quantifier,Convient à la résolution de divers problèmes incertains.
La caractéristique la plus importante de la méthode d'évaluation globale floue est la suivante::
Comparaison
Sur la base de la valeur optimale du facteur d'évaluation,La valeur d'évaluation est:1;Les autres facteurs sous - optimaux sont évalués en fonction du degré de sous - optimalité..Relations fonctionnelles
Peut être basé sur les caractéristiques de divers facteurs d'évaluation,Déterminer la relation fonctionnelle entre la valeur d'évaluation et la valeur du facteur d'évaluation(C'est - à - dire::Fonction d'adhésion).Déterminer cette relation fonctionnelle(Fonction d'adhésion)Il y a plusieurs façons de,Par exemple,FMéthodes statistiques,Divers types deFDistribution, etc..Bien sûr.,Des experts expérimentés en évaluation des soumissions peuvent également être invités à effectuer des évaluations.,Donner directement la valeur d'évaluation.
Dans la préparation des documents d'appel d'offres, Selon les détails du projet , Sélection ciblée des facteurs d'évaluation , Déterminer scientifiquement la relation fonctionnelle entre la valeur d'évaluation et la valeur des facteurs d'évaluation et déterminer raisonnablement le poids des facteurs d'évaluation . Procédure générale d'évaluation globale floue :
Construction d'un indice d'évaluation global flou
Le système d'index d'évaluation globale flou est la base de l'évaluation globale , Pertinence de la sélection des indicateurs d'évaluation , Aura une incidence directe sur l'exactitude de l'évaluation globale . La construction de l'indice d'évaluation devrait faire largement référence aux données industrielles ou aux lois et règlements pertinents du système d'indice d'évaluation. .Construire un vecteur de poids
Par l'expérience d'experts ou AHP Construction du vecteur de poids par AHP .Construire une matrice d'adhésion
Construire une fonction d'adhésion appropriée pour construire une matrice d'adhésion .Synthèse de la matrice d'adhésion et du poids
Il a été synthétisé avec un facteur de synthèse approprié. , Et expliquer le vecteur de résultat .
Exemple de simulation MATLABLa version estMATLAB2015b.
Un.. MATLABSimulation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fonction: Cette procédure est une procédure d'évaluation globale floue , Poids donné artificiellement
%Environnement:Win7,Matlab2015b
%Modi: C.S
%Temps:2022-06-27
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% I. Vider les variables d'environnement
clear all
clc
tic
%--------------------------------------------------------------------------
%Exécution du programme,Commande d'entrée directemohuC'est tout.
% Ce programme peut être étendu
% Évaluation globale floue à deux niveaux , Peut être compilé mohufun.mFonction pour implémenter
%Par exemple:[yy1,qdh,qdh1]=mohufun(R,L,M,w,XX,yy] Pour exécuter cette fonction deux fois , Et préparer mDocumentation, Deux de ces fonctions peuvent être mises en œuvre
% Explication des résultats de l'évaluation floue :
%1: La somme de tous les niveaux d'adhésion est: 1.
%2: Le résultat de sortie augmente avec une variable qdh1 Les résultats de
%3: Dernier niveau [0.2 0 0 0.8]C'est normal., Contrairement à la notion de distance hiérarchique dans l'évaluation de l'extension .
% Il n'y a que des variables qui appartiennent à 0.2 Ce niveau de .
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Cette partie est calculée par , Partie donnée par l'homme , C'est - à - dire les conditions de résolution pertinentes
% Entrée requise avant le calcul
R=4; % Nombre de facteurs d'influence
L=4; % Nombre de grades jugés
M=29; % Nombre de sections à évaluer
w=[0.1 0.7 0.1 0.1];%Poids de chaque indicateur
% Domaine classique de l'évaluation de l'extension , Les colonnes quotidiennes forment un groupe ,TotalLGroupe, De gauche à droite 1,2,3,4
% Le verdict est 1, Représente le champ classique le plus à gauche ,Pour4 Appartient au domaine classique le plus à droite
%XX Est la portée de la fonction d'adhésion , Voir l'évaluation globale floue basée sur des ensembles bruts pour plus de détails. , Une a quatre fonctions d'adhésion
%Les deux premiers chiffres, Déterminer la fonction d'adhésion d'un segment descendant ,Divisé en trois paragraphes
% Après ça 4 Le nombre ci - dessus est un groupe , Détermination de la fonction d'adhésion d'un trapèze , Divisé en cinq paragraphes
% Les deux derniers sont un seul groupe , Diviser la fonction d'adhésion d'un segment ascendant en trois segments
% Chaque ligne ci - dessous a 12Nombre,Sa part4Grade, Nombre de points de démarcation des sous - bureaux 2 4 4 2 La somme est12
% C'est - à - dire quatre niveaux
%XX Sont également des données de base pour le calcul
xx=[70 90 70 90 110 130 110 130 170 190 170 190
45 35 45 35 30 20 30 20 17 10 17 10
1.5 2.5 1.5 2.5 3 4 3 4 4.5 5.5 4.5 5.5
0.25 0.35 0.25 0.35 0.45 0.55 0.45 0.55 0.65 0.75 0.65 0.75];
%pp1 Plus grande est la mesure ,Plus le grade est élevé, Toujours plus grand , Indicateur de niveau inférieur
%0 Plus la valeur de l'indicateur est élevée , Plus le niveau est élevé
%1 Plus la valeur de l'indicateur est élevée , Plus le niveau est bas
% Cela doit être strictement respecté. ,XX(i,:),De petit en grand0,XX(i,:)Du plus grand au plus petit1,
% Si vous prenez ce qui précède XX Inversion de l'ordre des lignes ,Oui.pp1=[1 0 1 1 ]
pp1=[0 1 0 0];
% Paramètres de chaque section de tunnel à évaluer
yy=[200 8 6 0.8
200 9.5 6 0.8
200 11 6 0.8
200 12.5 6 0.8
200 14 6 0.8
200 15.5 6 0.8
200 17 6 0.8
200 18.5 6 0.8
200 20 6 0.8
200 21.5 6 0.8
200 23 6 0.8
200 24.5 6 0.8
200 26 6 0.8
200 27.5 6 0.8
200 29 6 0.8
200 30.5 6 0.8
200 32 6 0.8
200 33.5 6 0.8
200 35 6 0.8
200 36.5 6 0.8
200 38 6 0.8
200 39.5 6 0.8
200 41 6 0.8
200 42.5 6 0.8
200 44 6 0.8
200 45.5 6 0.8
200 47 6 0.8
200 48.5 6 0.8
200 50 6 0.8
];
% Forme de la fonction d'adhésion de la section ascendante et de la section descendante
% Notez que la forme de la fonction d'adhésion est la même que celle de la fonction d'adhésion dans cet article. , Sinon, changez les parties de base du programme
%Ici.a Point médian de l'intervalle ,b Largeur de la Section
f1=inline('0.5-0.5*sin((x-a)*pi/b)','a','b','x');
f2=inline('0.5+0.5*sin((x-a)*pi/b)','a','b','x');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calculer l'adhésion de chaque indicateur au premier niveau
for i=1:M,
for k=1:R,
j=1;
if pp1(k)==0 % D'abord, plus il est grand. , Indicateurs de niveau supérieur
if yy(i,k)<xx(k,j)
yy1(i,k,j)=1;
elseif yy(i,k)<=xx(k,j+1)
yy1(i,k,j)=f1(0.5*(xx(k,j)+xx(k,j+1)),abs(xx(k,j)-xx(k,j+1)),yy(i,k)) ;
else yy1(i,k,j)=0;
end
% Plus la valeur est petite, , Indicateurs de niveau supérieur
% Les sous - ensembles supérieurs et inférieurs à un doivent être interchangeables ,Fonctionsf1Etf2 Aussi interchangeable
elseif yy(i,k)>xx(k,j)
yy1(i,k,j)=1;
elseif yy(i,k)>=xx(k,j+1)
yy1(i,k,j)=f2(0.5*(xx(k,j)+xx(k,j+1)),abs(xx(k,j)-xx(k,j+1)),yy(i,k));
else yy1(i,k,j)=0;
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calculer l'adhésion de chaque indicateur au dernier niveau
for i=1:M,
for k=1:R,
j=L;
if pp1(k)==0 % D'abord, plus il est grand. , Indicateurs de niveau supérieur
if yy(i,k)<xx(k,j*4-5)
yy1(i,k,j)=0;
elseif yy(i,k)<=xx(k,j*4-4)
yy1(i,k,j)=f2(0.5*(xx(k,j*4-5)+xx(k,j*4-4)),abs(xx(k,j*4-5)-xx(k,j*4-4)),yy(i,k));
else yy1(i,k,j)=1;
end
% Plus la valeur est petite, , Indicateurs de niveau supérieur
% Les sous - ensembles supérieurs et inférieurs à un doivent être interchangeables ,Fonctionsf1Etf2 Aussi interchangeable
elseif yy(i,k)>xx(k,j*4-5)
yy1(i,k,j)=0;
elseif yy(i,k)>=xx(k,j*4-4)
yy1(i,k,j)=f1(0.5*(xx(k,j*4-5)+xx(k,j*4-4)),abs(xx(k,j*4-5)-xx(k,j*4-4)),yy(i,k)) ;
else yy1(i,k,j)=1;
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calculer l'adhésion de chaque indicateur aux niveaux intermédiaires
for i=1:M,
for k=1:R,
for j=2:L-1;
if pp1(k)==0 % D'abord, plus il est grand. , Indicateurs de niveau supérieur
if yy(i,k)<xx(k,j*4-5)
yy1(i,k,j)=0;
elseif yy(i,k)<=xx(k,j*4-4)
yy1(i,k,j)=f2(0.5*(xx(k,j*4-5)+xx(k,j*4-4)),abs(xx(k,j*4-5)-xx(k,j*4-4)),yy(i,k));
elseif yy(i,k)<=xx(k,j*4-3)
yy1(i,k,j)=1;
elseif yy(i,k)<=xx(k,j*4-2)
yy1(i,k,j)=f1(0.5*(xx(k,j*4-3)+xx(k,j*4-2)),abs(xx(k,j*4-3)-xx(k,j*4-2)),yy(i,k)) ;
else yy1(i,k,j)=0;
end
% Plus la valeur est petite, , Indicateurs de niveau supérieur
% Les sous - ensembles supérieurs et inférieurs à un doivent être interchangeables ,Fonctionsf1Etf2 Aussi interchangeable
elseif yy(i,k)>xx(k,j*4-5)
yy1(i,k,j)=0;
elseif yy(i,k)>=xx(k,j*4-4)
yy1(i,k,j)=f1(0.5*(xx(k,j*4-5)+xx(k,j*4-4)),abs(xx(k,j*4-5)-xx(k,j*4-4)),yy(i,k));
elseif yy(i,k)>=xx(k,j*4-3)
yy1(i,k,j)=1;
elseif yy(i,k)>=xx(k,j*4-2)
yy1(i,k,j)=f2(0.5*(xx(k,j*4-3)+xx(k,j*4-2)),abs(xx(k,j*4-3)-xx(k,j*4-2)),yy(i,k)) ;
else yy1(i,k,j)=0;
end
end
end
end
% %Calcul de la multiplication, Degré d'adhésion multiplié par le poids degré d'adhésion de chaque segment de trou à chaque niveau ,Prendre la valeur maximale
%dot La fonction est une fonction de produit interne , La somme est obtenue après que les composants correspondants des deux vecteurs sont égaux.
for i=1:M,
for j=1:L,
qdh(i,j)=dot(yy1(i,:,j),w);
end
end
% Degré d'adhésion multiplié par la valeur de grade , Déterminer le niveau
% %qdh Résultats de l'évaluation ,Prenez le plus grand, À quel niveau appartient - il?
% qdh1, Valeur du grade
for i=1:M,
for j=1:L,
[maxlevel(i),qdh1(i)]=max(qdh(i,:));
end
disp(['Échantillons',num2str(i),' La classification correspondante est: :',num2str(qdh1(i))]);
end
figure(1)
plot(qdh1(1:29),'-*');
title(' Évaluation globale floue et prévision ','fontsize',12)
xlabel('Échantillons','fontsize',12)
ylabel('Catégorie','fontsize',12)
toc
2.. Résultats de la simulation
Échantillons1 La classification correspondante est: :4
Échantillons2 La classification correspondante est: :4
Échantillons3 La classification correspondante est: :4
Échantillons4 La classification correspondante est: :4
Échantillons5 La classification correspondante est: :4
Échantillons6 La classification correspondante est: :3
Échantillons7 La classification correspondante est: :3
Échantillons8 La classification correspondante est: :3
Échantillons9 La classification correspondante est: :3
Échantillons10 La classification correspondante est: :3
Échantillons11 La classification correspondante est: :3
Échantillons12 La classification correspondante est: :3
Échantillons13 La classification correspondante est: :2
Échantillons14 La classification correspondante est: :2
Échantillons15 La classification correspondante est: :2
Échantillons16 La classification correspondante est: :2
Échantillons17 La classification correspondante est: :2
Échantillons18 La classification correspondante est: :2
Échantillons19 La classification correspondante est: :2
Échantillons20 La classification correspondante est: :2
Échantillons21 La classification correspondante est: :2
Échantillons22 La classification correspondante est: :2
Échantillons23 La classification correspondante est: :1
Échantillons24 La classification correspondante est: :1
Échantillons25 La classification correspondante est: :1
Échantillons26 La classification correspondante est: :1
Échantillons27 La classification correspondante est: :1
Échantillons28 La classification correspondante est: :1
Échantillons29 La classification correspondante est: :1
Le temps est écoulé. 0.075994 Secondes.
Trois. Résumé
Méthode d'évaluation globale floue (fuzzy comprehensive evaluation method) Est l'une des méthodes mathématiques les plus fondamentales en mathématiques floues , La méthode décrit les limites floues en termes de degré d'adhésion . En raison de la complexité des facteurs d'évaluation 、 Hiérarchie des objets d'évaluation 、 Le flou dans les critères d'évaluation et le flou ou l'incertitude dans l'évaluation des facteurs d'influence 、 Une série de problèmes tels que la difficulté de quantifier les indices qualitatifs , Ce qui rend difficile l'utilisation de l'absolu “C'est tout l'un ou tout l'autre.” Pour décrire avec précision la réalité objective , Il y a souvent “ Et c'est l'autre ” Le flou de , Sa description est également exprimée en langage naturel. , Et la plus grande caractéristique du langage naturel est son imprécision , Et cette ambiguïté est difficile à mesurer uniformément avec les modèles mathématiques classiques .Donc,, Une méthode d'évaluation globale floue basée sur des ensembles flous , Évaluation complète de l'état hiérarchique des objets évalués à partir de plusieurs indices , Il divise l'intervalle de variation de la chose jugée , D'une part, vous pouvez tenir compte de la hiérarchie des objets , Rendre les critères d'évaluation 、 Le flou des facteurs d'influence est incarné ; D'autre part, l'expérience humaine peut être pleinement utilisée dans l'évaluation. , Rendre les résultats de l'évaluation plus objectifs ,Conforme à la situation réelle. L'évaluation globale floue peut combiner des facteurs qualitatifs et quantitatifs , Accroître la quantité d'information , Améliorer le nombre d'évaluations , Conclusion crédible de l'évaluation .
Il existe de nombreuses méthodes traditionnelles d'évaluation globale. , Il est également largement utilisé , Mais il n'y a pas de moyen de s'adapter ,Résoudre tous les problèmes, Chaque approche a son objectif et ses principaux domaines d'application. . Si vous voulez résoudre de nouveaux problèmes dans de nouveaux domaines , La méthode de synthèse floue est évidemment plus appropriée . Méthode d'évaluation floue fondée sur des mathématiques floues . Les mathématiques floues sont nées 1965Année, Son fondateur, American Automatic Control Expert L.A.Zadeh.20Le siècle80Fin des années, Le Japon applique la technologie floue aux robots 、Contrôle du processus、 Locomotive de métro 、Gestion du trafic、Dépannage、Diagnostic médical、Reconnaissance du son、Traitement d'images、 Prévision du marché et autres domaines . Application de la théorie floue et de la méthode floue au Japon et perspectives du marché , Un grand choc pour les entreprises occidentales , Il est également largement reconnu dans les milieux universitaires. . La recherche sur les mathématiques floues et la méthode d'évaluation globale floue a commencé relativement tard en Chine. , Mais ces dernières années, (Comme la médecine、Construction、 Surveillance de la qualité de l'environnement 、 Eau, etc ) L'application de .Un par jourMATLABPetite connaissance, Tout le monde s'améliore. !
边栏推荐
- 關於線性穩壓器的五個設計細節
- 剑指 Offer 05. 替换空格
- Sword finger offer 09 Implementing queues with two stacks
- Live555 RTSP audio and video streaming summary (II) modify RTSP server streaming URL address
- Summary -st2.0 Hall angle estimation
- Arduino uses nrf24l01+ communication
- Soem EtherCAT source code analysis II (list of known configuration information)
- Void* C is a carrier for realizing polymorphism
- 【三层架构及JDBC总结】
- STM32 summary (HAL Library) - DHT11 temperature sensor (intelligent safety assisted driving system)
猜你喜欢
Solutions to compilation warnings in Quartus II
How to write cover letter?
[paper reading] the latest transfer ability in deep learning: a survey in 2022
实例004:这天第几天 输入某年某月某日,判断这一天是这一年的第几天?
STM32---IIC
MySQL MHA high availability cluster
Sword finger offer 09 Implementing queues with two stacks
Step motor generates S-curve upper computer
[three tier architecture and JDBC summary]
Wifi-802.11 negotiation rate table
随机推荐
Keil use details -- magic wand
MHA High available Cluster for MySQL
Example 007: copy data from one list to another list.
Ble encryption details
Classic application of MOS transistor circuit design (1) -iic bidirectional level shift
Soem EtherCAT source code analysis attachment 1 (establishment of communication operation environment)
实例001:数字组合 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
Tailq of linked list
Example 010: time to show
Wifi-802.11 negotiation rate table
Sql Server的存儲過程詳解
Sword finger offer 09 Implementing queues with two stacks
[cloud native | learn kubernetes from scratch] III. kubernetes cluster management tool kubectl
Relationship between line voltage and phase voltage, line current and phase current
H264 (I) i/p/b frame gop/idr/ and other parameters
Nb-iot technical summary
How to write cover letter?
Buildroot system for making raspberry pie cm3
Example 006: Fibonacci series
General makefile (I) single C language compilation template