模糊综合评判的Matlab程序

合集下载

matlab模糊函数代码

matlab模糊函数代码

matlab模糊函数代码在数学和图像处理领域中,模糊函数是一种常用的工具,用于对图像进行模糊处理以达到一定的效果。

Matlab提供了一些内置函数来实现图像的模糊处理,本文将介绍如何使用Matlab编写模糊函数代码。

Matlab中有多种不同类型的模糊函数,例如高斯模糊、均值模糊和运动模糊等。

下面将逐一介绍这些模糊函数代码的实现方式。

1. 高斯模糊:高斯模糊是最常用的模糊算法之一,它通过卷积图像与一个高斯核来实现。

以下是Matlab中实现高斯模糊的代码示例:```matlabfunction blurredImage = gaussianBlur(image, sigma)kernelSize = 2 * ceil(3 * sigma) + 1; % 根据sigma计算高斯核大小kernel = fspecial('gaussian', [kernelSize kernelSize], sigma); % 生成高斯核blurredImage = imfilter(image, kernel, 'conv'); % 对图像进行卷积操作end```2. 均值模糊:均值模糊是一种简单但常用的模糊算法,它通过计算邻域像素的平均值来实现。

以下是Matlab中实现均值模糊的代码示例:```matlabfunction blurredImage = meanBlur(image, kernelSize)kernel = ones(kernelSize) / (kernelSize^2); % 生成均值核blurredImage = imfilter(image, kernel, 'conv'); % 对图像进行卷积操作end```3. 运动模糊:运动模糊是一种模糊算法,它通过模拟相机快门打开时的移动效果来实现。

以下是Matlab中实现运动模糊的代码示例:```matlabfunction blurredImage = motionBlur(image, angle, distance)PSF = fspecial('motion', distance, angle); % 生成运动模糊核blurredImage = imfilter(image, PSF, 'conv'); % 对图像进行卷积操作end```以上是几种常见的模糊函数的Matlab代码实现。

模糊控制的MATLAB实现具体过程(强势吐血推荐)

模糊控制的MATLAB实现具体过程(强势吐血推荐)

例:fismat=readfis(‘tipper’); //tipper.fis已经存在
③函数getfis
功能:取得模糊推理系统的部分或全部属性。 格式:getfis(a) //显示系统所有属性 //显示系统某一属性
getfis(a,’fisprop’)
getfis(a,’vartype’,varindex,’varprop’)
1 2,2(1):1
6、计算模糊推理输出结果函数evalfis 格式:y=evalfis(U,FIS)
说明:参数U是输入数据,FIS是模糊推理矩阵。 U的每一行是一个特定的输入向量,Y的每一行是 一个特定的输出向量。
如果输入U是M*N矩阵,则系统是N输入的, 返回的Y是M*L矩阵,L是系统的输出的数目。
功能:绘制语言变量所有语言值的隶属度函数曲线。
格式:plotmf(fismat,varType,varIndex) 说明:参数fismat指明模糊推理系统的对应矩阵变量 名称;varType指明变量类型(’input’或’output’); varIndex指明输入或输出语言变量的编号。 例: plotmf(a,’input’,2)
例:a=newfis(‘tipper’);
a=addvar(a,’input’,’service’,[0 10]); a=addmf(a,’input’,1,’poor’,’guassmf’,[1.5 0]); a=addmf(a,’input’,1,’good’,’guassmf’,[1.5 5]); a=addmf(a,’input’,1,’excellent’,’guassmf’,[1.5 10]);
在rulelist的每一行中,前m个数字表示各输入语言 变量的语言值(隶属度函数的编号),随后的n个数字表 示输出语言变量的语言值,第n+m+1个数字是该规则的 权重,权重的值在0到1之间,一般设定为1;第n+m+2 个数字为0或1两者之一,为1表示模糊规则各输入语言 变量之间是and关系,为0则表示是or关系。

模糊综合评判matlab源程序

模糊综合评判matlab源程序

end end if k == m
if
LSDResult(j, i) = 0; end if
b(j) >= c(k - 1, j) & b(j) < c(k, j)
LSDResult(j, i) = ((b(j) - c(k - 1, j)) / (c(k, j) - c(k - 1, j))); end if
模糊综合评判 matlab 源程序 2009-02-09 10:16
1.原理
模糊综合评判方法即将评价目标看成是由多种因素组成的模糊集合(称为因
素集 u),再设定这些因素所能选取的评审等级,组成评语的模糊集合(称为评
判集 v),分别求出各单一因素对各个评审等级的归属程度(称为模糊矩阵),
然后根据各个因素在评价目标中的权重分配,通过计算(称为模糊矩阵合成),
]; %b 为待判样品值 [m,n]=size(a); [x,y]=size(d); TheResultMoHu=[]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
for s=1:x for p=1:n b(p)=d(s,p); end for i=1:n %计算每一个列的平均值 ColAverage(i)=0; for j=1:m ColAverage(i)=ColAverage(i)+a(j,i); end ColAverage(i)=ColAverage(i)/m; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
为计算结果 end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

模糊综合评判程序代码

模糊综合评判程序代码

using System;using KarstIModel;namespace KarstModel{/// <summary>/// FuzzyJudge 模糊综合评判方法。

/// </summary>public class FuzzyJudge:IModel{private bool hasPara=false;//是否设置了所有参数private double[,] r;//单因素评判矩阵,行数与权重分配矩阵列数相同,列数与评判集矩阵列数相同private double[,] rr;//r的原始数据private double[] u;//权重分配向量(一维矩阵)private double[] v;//评判集向量(一维矩阵)private double[] b;//评判结果向量(一维矩阵)private double result;//以结果向量为权表述的计算结果private System.Windows.Forms.CheckedListBox.CheckedIndexCollection preTreatment;//数据预处理,多选项:标准差变换和极差变换private long methodID;private int[] GoeID;public FuzzyJudge(){//// TODO: 在此处添加构造函数逻辑//}#region IModel 成员public void run(){if(!hasPara) return;//标准化rr=new double[r.GetUpperBound(0)+1,r.GetUpperBound(1)+1];for(int i=0;i<r.GetUpperBound(0)+1;i++)for(int j=0;j<r.GetUpperBound(1)+1;j++)rr[i,j] =r[i,j];if(preTreatment.Count>0){if(preTreatment.Contains(0)) r=DataStandard.Standardization(r);if(preTreatment.Contains(1)) r=DataStandard.Difference(r);}switch(methodID){case 0:b=Judge1(r,u);break;case 1:b=Judge2(r,u);break;case 2:b=Judge3(r,u);break;case 3:b=Judge4(r,u);break;}result=0;double d1=0,d2=0;for(int i=0;i<b.Length;i++){d1=d1+b[i]*v[i];d2=d2+b[i];}result=d1/d2;}public bool setParameters(System.Collections.Hashtable para){try{GoeID=(int [])para["GoeID"];r=(double [,])para["r"];u=(double [])para["u"];v=(double [])para["v"];preTreatment=(System.Windows.Forms.CheckedListBox.CheckedIndexCollection)para["p reTreatment"];methodID=(long)para["methodID"];//单因素评判矩阵:行数与权重分配矩阵列数相同,列数与评判集矩阵列数相同if((r.GetUpperBound(0)+1!=u.Length)||(r.GetUpperBound(1)+1!=v.Length)){System.Windows.Forms.MessageBox.Show("单因素评判矩阵:行数与权重分配矩阵列数应该相同,列数与评判集矩阵列数应该相同");return false;}b=new double[r.GetUpperBound(1)+1];hasPara=true;return true;}catch{return true;}}public System.Collections.Hashtable GetParameters(){// TODO: 添加FuzzyJudge.GetParameters 实现return null;}public System.Collections.Hashtable GetResult(){// TODO: 添加FuzzyJudge.GetResult 实现return null;}public System.Data.DataTable GetResultAsTable(){// TODO: 添加FuzzyJudge.GetResultAsTable 实现return null;}public string GetResultAsString(){string sR="";//显示评判集各元素sR=sR+"共有"+(r.GetUpperBound(1)+1)+"个评判元素\n"; for(int i=0;i<r.GetUpperBound(1)+1;i++)sR=sR+" "+v[i]+" ";sR=sR+"\n";//显示权向量各元素sR=sR+"共有"+(r.GetUpperBound(0)+1)+"个权向量元素\n"; for(int i=0;i<r.GetUpperBound(0)+1;i++)sR=sR+" "+u[i]+" ";sR=sR+"\n";//显示评判矩阵各元素sR=sR+"评判矩阵为"+(r.GetUpperBound(0)+1)+"行,"+(r.GetUpperBound(1)+1)+"列矩阵:\n";for(int i=0;i<r.GetUpperBound(0)+1;i++){for(int j=0;j<r.GetUpperBound(1)+1;j++)sR=sR+" "+rr[i,j]+" ";sR=sR+"\n";}//显示综合评判方法switch(methodID){case 0:sR=sR+"--综合评判方法:模糊变换M(∧∨)--"+"\n";break;case 1:sR=sR+"--综合评判方法:以乘代替取小M(·∨)--"+"\n";break;case 2:sR=sR+"--综合评判方法:以加代替取大M(∧+)--"+"\n";break;case 3:sR=sR+"--综合评判方法:加权平均M(·+)--"+"\n";break;}//显示评判结果sR=sR+"评判结果向量元素\n";for(int i=0;i<r.GetUpperBound(1)+1;i++)sR=sR+" "+b[i]+" ";sR=sR+"\n";//以结果向量为权表述的计算结果sR=sR+"以结果向量为权表述的计算结果:"+result;return sR;}public string GetKeywords(){// TODO: 添加FuzzyJudge.GetKeywords 实现return null;}public string GetDiscription(){// TODO: 添加FuzzyJudge.GetDiscription 实现return null;}public string GetSubjects(){// TODO: 添加FuzzyJudge.GetSubjects 实现return null;}public IModel[] GetChildren(){// TODO: 添加FuzzyJudge.GetChildren 实现return null;}public ParaData[] GetParaData(){ParaData[] ans=new ParaData[5];ans[0]=new ParaData(-1,"r","单因素评判矩阵r(两维)",2,"double","单因素评判矩阵,行数与权重分配矩阵列数相同,列数与评判集矩阵列数相同","");ans[1]=new ParaData(-1,"preTreatment","评判矩阵需数据预处理(多选)",4,"int","数据预处理(多选项)","标准差变换,极差变换");ans[2]=new ParaData(-1,"u","权重分配向量u(一维矩阵)",1,"double","权重分配矩阵,相加等于1","");ans[3]=new ParaData(-1,"v","评判集向量v(一维矩阵)",1,"double","评判集矩阵","");ans[4]=new ParaData(-1,"methodID","评判方法(单选)",3,"int","评判方法(单选)","模糊变换M(∧∨),以乘代替取小M(·∨),以加代替取大M(∧+),加权平均M(·+)");return ans;}public ModelData GetModelData(){ModelData ans=new ModelData();="FuzzyJudge";ans.realName="模糊综合评判(常规)";eMethod="按向导输入参数后运行即可";es="模糊综合评判(常规)";ans.filename="karstModel.dll";ans.description="模糊综合评判(常规)";ans.keyWords="模糊综合评判(常规)";ans.classes=4;return ans;}#endregion/// <summary>/// 评判方法:模糊变换M(∧∨)/// r:评判矩阵,u:权重矩阵,/// 返回结果为证券结果矩阵b/// </summary>private double[] Judge1(double[,] r,double[] u){int M,N,i,j;N=r.GetUpperBound(0)+1;M=r.GetUpperBound(1)+1; double[] b=new double[M];for(j=0;j<M;j++)for(i=0;i<N;i++)if(u[i]<r[i,j]) r[i,j]=u[i];//取小for(j=0;j<M;j++){b[j]=0;for(i=0;i<N;i++)if(b[j]<r[i,j])b[j]=r[i,j];//取大}return b;}/// <summary>/// 评判方法:以乘代替取小M(·∨)/// r:评判矩阵,u:权重矩阵/// 返回结果为证券结果矩阵b/// </summary>private double[] Judge2(double[,] r,double[] u){int M,N,i,j;N=r.GetUpperBound(0)+1;M=r.GetUpperBound(1)+1; double[] b=new double[M];for(j=0;j<M;j++)for(i=0;i<N;i++)r[i,j]=u[i]*r[i,j];//取乘for(j=0;j<M;j++){b[j]=0;for(i=0;i<N;i++)if(b[j]<r[i,j])b[j]=r[i,j];//取大}return b;}/// <summary>/// 评判方法:以加代替取大M(∧+)/// r:评判矩阵,u:权重矩阵/// 返回结果为证券结果矩阵b/// </summary>private double[] Judge3(double[,] r,double[] u){int M,N,i,j;N=r.GetUpperBound(0)+1;M=r.GetUpperBound(1)+1; double[] b=new double[M];for(j=0;j<M;j++)for(i=0;i<N;i++)if(u[i]<r[i,j]) r[i,j]=u[i];//取小for(j=0;j<M;j++){b[j]=0;for(i=0;i<N;i++)b[j]=b[j]+r[i,j];//取加}return b;}/// <summary>/// 评判方法:加权平均M(·+)/// r:评判矩阵,u:权重矩阵/// 返回结果为证券结果矩阵b/// </summary>private double[] Judge4(double[,] r,double[] u){int M,N,i,j;N=r.GetUpperBound(0)+1;M=r.GetUpperBound(1)+1; double[] b=new double[M];for(j=0;j<M;j++)for(i=0;i<N;i++)r[i,j]=r[i,j]*u[i];//取乘for(j=0;j<M;j++){b[j]=0;for(i=0;i<N;i++)b[j]=b[j]+r[i,j];//取加}return b;}}}。

模糊层次分析法FAHPmatlab代码

模糊层次分析法FAHPmatlab代码

j=j+1; V=[v2,v0]; v2=V; end end v3=[]; for i=3 for j=[1,2,4] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v3,v0]; v3=V; end end v4=[]; for i=4 for j=[1,2,3] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v4,v0]; v4=V; end end dc1=min(v1); dc2=min(v2); dc3=min(v3); dc4=min(v4); w=[dc1,dc2,dc3,dc4]' for ii=1:4 w0(ii,1)=w(ii,1)/sum(w);%对w归一化并输出 end w0
计算结果
w =
1.0000 0.9851 0.9701 w3 = 0.3384 0.3333 0.3283
编程
clc,clear a1=[1 1 1;;0.95 1.25 1.59]; b1=sum(a1); a2=[;1 1 1;1.5 2 2.5]; b2=sum(a2); a3=[0.95 1.25 1.59;0.4 0.5 0.67;1 1 1]; b3=sum(a3); d1=b1(1)+b2(1)+b3(1); d2=b1(2)+b2(2)+b3(2); d3=b1(3)+b2(3)+b3(3); s1=[b1(1) b1(2) b1(3)].*[1/d3 1/d2 1/d1]; s2=[b2(1) b2(2) b2(3)].*[1/d3 1/d2 1/d1]; s3=[b3(1) b3(2) b3(3)].*[1/d3 1/d2 1/d1]; s=[s1;s2;s3]; sl=s(:,1); sm=s(:,2); su=s(:,3); v1=[]; for i=1 for j=[2,3] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v1,v0];

基于AHP-模糊综合评价的风险分析及MATLAB应用

基于AHP-模糊综合评价的风险分析及MATLAB应用
ab判断矩阵1i判断矩阵2i判断矩阵3i判断矩阵ahp法评价风险因素的权重并排序在该体育训练中心项目中通过综合运用多种识别方法分析所有影响项目施工各因素之间的相互关系和隶属关系把该体育训练中心项目风险问题层次化条理化建立了工程风险层次结构根据图1的层次结构按照1标度法原则对各层次风险因素依次进行两两比较评分得判断矩阵如表3表4层次单排序在matlab程序中运行主程序可得到各判断矩阵的特征向量为
2.4 层次总排序及一致性检验
经过层次单排序得到的是某一层元素对其上一层中某相关指标的权重向量,而我们最终要得到 最低层元素对于总目标的排序权重。根据 AHP 理论,某一层总排序的权重为该层单排序的权重与隶 属于上一层次因素总排序权重乘积之和。因此,层次总排序要至上而下依次计算同一层次中所有因 素对于最高层目标的排序权重值。层次总排序可以根据下式求解:
CR = ∑ bjCIj / ∑ bjRIj (6)
j =1 j =1
m
பைடு நூலகம்
m
式中 CIj 为 C 层各元素对上一元素层 B 层的元素素 Bj 的层次单排序一致性指标,RIj 为随机一致 性指标,则 CR 为 C 层层次总排序的一致性比率。当 CR≤0.1 时,通过一致性检验,认为层次总排 序结果满足一致性要求。通过一致性检验的组合权向量可以作为最终决策的依据。 3 模糊综合评价法的原理 3.1 建立因素集 确定评价因素集合,即由层次分析法识别的各风险元素的集合, U = { B1 ,B2 , …,Bm } ,其中各单 因素子集分别为: B1 = { C11 , C12 , …, C1n } ;B2 = {C21 ,C22 , …C2n }… ;Bm = { Cm1 ,Cm2 , …, Cmn } 3.2 建立风险评价集 评价集是评判者对评价对象作出的各评价的评判结果所组成的集合,V={V1,V2,…,Vx},一般根 据实际情况可以将评价等级划分为 4 个或 5 个等级。 3.3 进行单因素评判 根据已确定的评价等级标准邀请专家小组的每一个成员依次对各个风险因素进行评价。在此基 础上,分别得出各子集Bi(i=1,2,…,m)中单要素的评价矩阵Ri(i =1,2,…,m)。再由各单要素Bi的权重系数 向量Wi(由层次分析法已算出)和评价矩阵Ri,经过合成运算可得到: Yi=Wi·Ri= [yi1,yi2,…,yin ] ( i = 1,2,…,m) (7) 3.4进行综合评判 基于单因素的层次分析结果 ,得到U中各子集的综合评价矩阵: R=[Y1Y2 Y3 … Ym]T (8) 最后再由U的各子集对总目标的权重向量WA-C和综合评价矩阵R经过合成运算,可得出对工程项 目风险评价的最终模糊综合评价结果: Y =WA-C·R = [y1,y2,…,ym ] (9) 根据评价结果即可得出风险因素的整体评价。 4 MATLAB 程序设计

模糊综合评价代码

模糊综合评价代码

附录2、各章节中编程计算的MatLab 程序2.1 模糊综合评判计算程序模糊综合评判的过程:○1、灰色关联分析,求权重(程序见Relation);○2、模糊聚类分析,划分等级(程序见F_class);○3、隶属度计算,求隶属函数(程序见Subjection和subject);○4、模糊综合评判,计算各单元等级(程序见F_judge)。

各步骤的程序如下:(1)Relation:灰色关联分析程序主程序:% 灰色关联分析:--母序列必须置为第一行!即x(1,:)clear;sq={'母指标','断层分维值','隔水层厚度','太会含水层水压','开采深度'}; m=5;n=81;fid=fopen('data1_no E_ZH.dat','r');X_t=fscanf(fid,'%g',[n m]); % 从数据文件读入数据。

fclose(fid);x=X_t';for i=1:mD(i,:)=initia_MAX(x(i,:),n);endfor i=1:m-1DT(i,:)=abs(D(1,:)-D(i+1,:));endmax=DT(1,1);min=DT(1,1);for i=1:m-1for j=1:nif max<DT(i,j)max=DT(i,j);elseif min>DT(i,j)min=DT(i,j);endendendyita=0.5;for i=1:m-1gama_t(i)=0;for j=1:nxigma(i,j)=(min+yita*max)/(abs(DT(i,j))+yita*max);gama_t(i)=gama_t(i)+xigma(i,j);endendgama(1)=1.0; % 母序列对自己的关联度总是为1。

disp(strcat(sq(1),'-to-',sq(1))),disp(gama(1))for i=1:m-1gama(i+1)=gama_t(i)/n;disp(strcat(sq(i+1),'-to-',sq(1))),disp(gama(i+1))enddisp('归一化处理如下:')gama_all=0;for i=1:mgama_all=gama_all+gama(i);endfor i=1:mweight(i)=gama(i)/gama_all;disp(sq(i)),disp(weight(i))end子程序:initia_MAX(X,n)function X1=initia_MAX(X,n)% 初始化,亦即无量纲化,对地质数据,采用最大值化为宜。

MATLAB编程与模糊数学方法(2)-模糊识别与模糊综合评判

MATLAB编程与模糊数学方法(2)-模糊识别与模糊综合评判

( B , A3 ) 0.4545, ( B , A4 ) 0.4348 ( B , A5 ) 0.8824, ( B , A6 ) 0.4565
由于 ( B, A5 ) max{ ( B, Ai ) i 1,2,,6} 故由择近原则,B 应归属于模式 A5 .
14参考教材例810414由单因素评判构造综合评判矩阵5综合评判设有两类顾客他们根据自己的喜好对各因素所分配的权重分别为1442用模型按最大隶属原则第一类顾客对此服装不太欢迎而第二类顾客对此服装比较欢迎
天津工业大学
MATLAB编程与模糊数学方法 (二)
理学院 数学系 陈雅颂
教学内容:
2
1.2 模糊模式识别
砷 铅
表一
23.5
0.1204 74.88 0.092
36.09
0.2523 99.54 0.2592
150
0.6 150 0.45
350
1.4 350 1.05
500
2 500 1.5
镉 铬 汞
表二 三个样品中重金属含量
名称
1 2 3

14.0 4.33 5.95

67.3 37.1 46.5

18
(1) 格贴近度
1 0 ( A, B ) [ A B (1 A ⊙B], 2 其中: A B max{ A( x ) B( x )}
表示两个模糊集 A,B 的内积; A⊙B min{ A( x ) B( x )} 表示两个模糊集 A,B 的外积。
19
1.3 模糊模式识别
一、模糊模式识别方法--最大隶属 原则法
二、模糊模式识别方法--择近原则 法
9

基于MATLAB的液压系统故障模糊综合评价软件开发

基于MATLAB的液压系统故障模糊综合评价软件开发
Ab s t r a c t : Ac c o r d i n g t o t h e p r i n c i p l e o f f u z z y c o mp r e h e n s i v e e v a l u a t i o n a n d u s i n g t h e p o w e f r u l c o mp u t i n g a n d g r a p h i c a l i n t e f r a c e d e s i g n mo d u l e s o f MAT L AB,t h e s o f t wa r e o f f u z z y c o mp r e h e n s i v e e v a l u a t i o n o n h y d r a u l i c s y s t e m f a i l u r e wa s d e v e l o p e d,i n c l u d i n g t h e e s t a b l i s h me n t o f ra g p h i c a l u s e r i n t e fa r c e a n d t h e r e a l i z a t i o n o f e v a l u a t i o n c o mp u t a t i o n a l p r o c e s s .T h e s o f t wa r e c a n b e u s e d t o g e t e v a l u a — t i o n r e s u l t s q u i c k l y a n d a c c u r a t e l y ,wh i c h ma k e s t h e c o mp l e x e v a l u a t i o n p r o c e s s s i mp l e a n d q u a n t i f i e d,r e d u c e s h u ma n e r r o r a n d i m—

基于MATLAB实现模糊综合指数法在水质评价中的应用研究

基于MATLAB实现模糊综合指数法在水质评价中的应用研究

水质评价是环境质量评价的主要内容之一,准确的水质 评价是水资源开发利用和治理的科学依据。水污染程度和水 质分级都是模糊概念,需要以定量的方式直观地表征原水水 质总体状况。模糊综合指数评价是指对多种模糊因素所影响 的事物或现象进行总的评价,是一种定量研究多种属性事物 的工具。本文通过模糊综合指数法对某城市河道水质进行综 合评价, 确定水质类别和主要污染物,为有关部门在管理和治 理上做出决策提供科学依据。
表 1 水质标准(GB3838- 2002)
单位:mg/ L
水质标准
溶解氧≥ 化学需氧量(COD)≤ 生化需氧量(BOD5)≤
氨氮(NH3- N)≤ 总磷(以 P 计)≤ 总氮(以 N 计)≤
Ⅰ类 7.5 15 3 0.2 0.01 0.2
水质类别
Ⅱ类
Ⅲ类
6
5
15
20
3
4
0.5
1.0
0.025
0.05
3 某城市河道水质评价
取某年某城市河道原水抽样调查具有代表性的某三次的 水质数据(见表 2)。
表 2 某城市河道原水某三次的水质数据 单位:mg/ L
样本序号 溶解氧
COD
样本 1
1.3
41.1
样本 2
1.4
40.2
样本 3
1.5
41.3
BOD5 21.8 17.1 10.5
氨氮 8.1 8.4 5.8
FCI1=5.0800 水质为Ⅴ级。同理算得 FCI2=4.9950 水质 为Ⅴ级;FCI3=4.9700 水质为Ⅴ级。
从表 3 中,找出各样本权重系数中的最大值,即是水污染 最主要因素。从表 3 可看出,造成某城市河道污染的主要污染 物是总磷、总氨、氨氮。

基于AHP-模糊综合评价的风险分析及MATLAB应用

基于AHP-模糊综合评价的风险分析及MATLAB应用

在 已有 的 运 用 模 糊 数 学 原 理进 行 风 险 评 估 的 研 究 中 , 研
【 摘 要 】 针 对风 险分析 中层次分析 法运 用的不足 , 建立工程 项 目风险评价 指标体 系的基础上 , 在 运用
MA L B编 制 函数 程 序 , 决 了层 次分 析 法风 险 因素 权 重 排 序 中采 用 近 似 法 求 解 矩 阵 最 大 特 征 根 和 特 征 向 TA 解 量 的 问题 。将 MA L B计 算 的 风 险 因素 权 重 结 合 模 糊 综 合 评 价 原 理 对 某 项 目施 工 阶段 的 风 险 因 素 进 行 评 TA 价 , 明 该 方 法是 合 理 实 用 的 , 理 论 、 路 可 供 决 策 者 在 项 目风 险 分 析 中借 鉴 。 表 其 思 l 风 险分 析 Nhomakorabea 法简 介
工程项 目实施过程中 , 由于信息 的不完 整或信息 的相对 滞后 , 以避免受到 不确定 因素 的影 响, 以存在不 确定性 难 所 和风险性的问题 , 管理相 当复 杂 , 其 因此工程 项 目管理 中最
重 要 的 任 务 是 对 不 确 定 性 或 风 险性 问题 的分 析 和管 理 。 风 险 分 析 , 在 对 工 程 项 目所 面 临 的 和 潜 在 的 不 确 定 因 是 素 进 行 识 别 、 类 的 基 础 上 , T 程 项 目 的 风 险 进 行 定 量 化 分 对
【 关键词 】 层次分析法( H ) 模糊综合评价 ; 风险分析 ; 建 筑工程 A P;
【 中图分 类号】 T 7 3 3 U 2 . 【 文献标识码 】 A
MA L B软件建立模型进行定量分析 , TA 对各风 险因素权重进 行 了排序 , 并结合模糊综合评价 法对 某体育训 练中心项 目施 T风 险进行 了整体评价 。

MATLAB编程与模糊数学方法(2)-模糊识别与模糊综合评判

MATLAB编程与模糊数学方法(2)-模糊识别与模糊综合评判

13
1.3 模糊模式识别
例 1.3.2:今考虑三角形的识别问题。设 U 为所有待识 别的三角形所构成的集合,由于每一个三角形完全由其 三个内角所确定,故可以三角形的三个内角 , , 作为 特性指标。于是,论域 U 可记为
U { x ( , , ) 0, 180 }。
是模糊的,标准模式库中提供的模式是模糊的。或
有待识别的对象是模糊的。
8
1.3 模糊模式识别
一、模糊模式识别方法--最大隶属 原则法
二、模糊模式识别方法--择近原则 法
9
1.3 模糊模式识别
一、模糊模式识别方法--最大隶属原则法 最大隶属原则Ⅰ: 设 A1 , A2 ,, Am 为给定的论域 U 上的 m 个模糊模式,
2 ( A, B )
1.3 模糊模式识别
(4)海明贴近度
1 n 3 ( A, B ) 1 A( xk ) B( xk ) n k 1
(5)欧几里得贴近度
1 n 2 4 1 [ ( A( xk ) B( xk )) ] n k 1
1 2
21
1.3 模糊模式识别
x0 U 为一个待识别对象,若
Ai ( x0 ) max{ A1 ( x0 ), A2 ( x0 ),, Am ( x0 )},
则认为 x0 优先归属于模糊模式 Ai 。
10
1.3 模糊模式识别
最大隶属原则Ⅱ: x1 , x2 ,, xn 设 A 为给定论域 U 上的一个模糊模式,
为 U 中的 n个待识别对象,若
级别 清洁 10 尚清洁 17 轻污染 30 中污染 50 重污染 70
砷 铅
表一
23.5

模糊综合评价法matlab

模糊综合评价法matlab

模糊综合评价法 MATLAB实现引言随着社会经济的不断发展和科学技术的不断进步,人们面对的问题越来越复杂,各种决策问题也越来越多。

在决策过程中,我们需要评价多个指标对决策结果的影响,然而直接对这些指标进行量化评价往往十分困难。

因此,模糊综合评价法应运而生。

本文将介绍如何使用 MATLAB 实现模糊综合评价法。

模糊综合评价法简介模糊综合评价法是一种基于模糊数学的决策方法,它将模糊数学的概念引入到评估过程中。

该方法可以将多个指标的信息进行综合,得出最终的评估结果。

模糊综合评价法适用于信息不确定、指标之间相互影响复杂的情况下。

MATLAB 实现步骤1. 构建模糊评价矩阵首先,我们需要构建模糊评价矩阵,矩阵的行代表评价对象,列代表评价指标。

每个矩阵元素的值都是模糊数,表示评价对象对某个指标的评价程度。

在MATLAB 中,可以使用矩阵来表示模糊评价矩阵。

假设有 m 个评价对象和 n 个评价指标,可以使用一个 m×n 的矩阵来表示。

% 模糊评价矩阵A = [0.80.60.9;0.70.50.6;0.90.70.8;0.60.80.7;];2. 构建权重矩阵模糊综合评价法需要为每个评价指标分配权重,以反映其在评价过程中的重要性。

权重矩阵的行数与评价指标的个数相同,每个元素表示相应指标的权重值。

% 权重矩阵w = [0.3; 0.4; 0.3];3. 计算评估值根据模糊综合评价法的计算公式,评估值可以通过矩阵运算得到。

评估值是一个列向量,其行数与评价对象的个数相同。

% 评估值eval = A * w;4. 结果展示最后,我们将评估值输出以展示评价结果。

```matlab % 结果展示 disp(。

夏培训模糊综合评判法

夏培训模糊综合评判法
第19页/共32页
~~
~
将每个U
看作一个因素,记为
i
K [u1, u2 ,
, us ].
这样,K又是一个因素集,K的单因素评价矩阵为
B1 b11 b12
R
B2
b21
b22
Bs
bs1
bs 2
b1m
b2m
bsm
第20页/共32页
每个Ui作为U的一部分,反映了U的某种属性, 可以按照它们的重要性给出权重分配
[0.06, 0.18, 0.1, 0.02, 0]
取B中数值最大的0.18对应的评语作为综合评 判结果,则评判结果为“良好”。
第15页/共32页
第16页/共32页
1.2 多层次模糊综合评判在人事考核中的应用
主要用于复杂的系统,考核指标比较多的考 核中.
对于人事考核而言,二级系统足以解决问题, 如果实际问题需要划分更多的层次,可以以此类 推。
变换
TR : F (U ) F (V ),
由此变换就可以得到综合评判结果
B A R 综合后的评判可看作是V上的模糊向量,记为:
B [b1, b2 , , bm ]
第9页/共32页
第10页/共32页
例 某单位对员工的年终综合评定 解: (1)取因素集
U {政治表现u1,工作能力u2,工作态度u3,工作业绩u4}
1.1 一级模糊综合评判在人事考核中的应用 主要用于考核指标比较少的考核中. 问题较为复杂,指标较多时,应运用多层次模糊 综合评判,提高精度.
第2页/共32页
一级模糊综合评判模型的建立,主要包括以下 步骤.
(1) 确定因素集.对员工的表现,需要从多个方 面进行综合评价,如员工的工作业绩、工作态度、 沟通能力、政治表现等。所有这些因素构成了评 价指标体系集合,即因素集,记为

数学建模模糊综合评价法

数学建模模糊综合评价法

学科评价模型(模糊综合评价法)摘要:该模型研究的是某高校学科的评价的问题,基于所给的学科统计数据作出综合分析。

基于此对未来学科的发展提供理论上的依据。

对于问题1、采用层次分析法,通过建立对比矩阵,得出影响评价值各因素的所占的权重。

然后将各因素值进行标准化。

在可共度的基础上求出所对应学科的评价值,最后确定学科的综合排名。

(将问题1中的部分结果进行阐述)(或者是先对二级评价因素运用层次分析法得出其对应的各因素的权重(只选取一组代表性的即可),然后再次运用层次分析法或者是模糊层次分析法对每一学科进行计算,得出其权重系数)。

通过利用matlab确定的各二级评价因素的比较矩阵的特征根分别为:4.2433、2、4.1407、3.0858、10.7434、7.3738、3.0246、1对于问题2、基于问题一中已经获得的对学科的评价值,为了更加明了的展现各一级因素的作用,采用求解相关性系数的显著性,找出对学科评价有显著性作用的一级评价因素。

同时鉴于从文献中已经有的获得的已经有的权重分配,对比通过模型求得的数值,来验证所建模型和求解过程是否合理。

对于问题3、主成份分析法,由于在此种情况下考虑的是科研型或者教学型的高校,因此在评价因素中势必会有很大的差别和区分。

所以在求解评价值的时候不能够等同问题1中的方法和结果,需要重新建立模型,消除或者忽略某些因素的影响和作用(将问题三的部分结果进行阐述)。

一、问题重述学科的水平、地位是评价高等学校层次的一个重要指标,而学科间水平的评价对于学科本身的发展有着极其重要的作用。

而一个显著的方面就是在录取学生方面,通常情况下一个好的专业可以录取到相对起点较高的学生,而且它还可以使得各学科能更加深入的了解到本学科的地位和不足之处,可以更好的促进该学科的发展。

学科的评价是为了恰当的学科竞争,而学科间的竞争是高等教育发展的动力,所以合理评价学科的竞争力有着极其重要的作用。

鉴于学科评价的两种方法:因素分析法和内涵解析法。

(完整word版)模糊聚类分析及matlab程序实现

(完整word版)模糊聚类分析及matlab程序实现

模糊聚类分析及matlab 程序实现采用模糊数学语言对按一定的要求进行描述和分类的数学方法称为模糊聚类分析。

聚类分析主要经过标定和聚类两步骤。

【1】 1 标定(建立模糊相似矩阵)城市居民食品零售价格,第t 时刻第i 种食品的零售价记为),(t i x 。

相似矩阵R 的构建方法:NTV 法设时间序列),(j i A 表示食品i 在时间t 的价格,其中i=1,2…42;t=1,2…39。

∑∑==--=mk jk ik m k jk ik x xx x j i R 11),max (1),((其中i,j,k=1,2…42,m=39) 42*42),(j i R R = 2 聚类2.1 计算R 的传递闭包:对模糊相似矩阵R,依次用平方法计算,2R ,4R ,…,t2R ,…,当第一次出现k k k R R R =*时,则称k R 为传递闭包。

【1】2.2 开始聚类:【2】 (1)令T={1,2,3…42},取)1(xi T ∈ ,令X 、Q 为空集;(2)令0=j ;(3)若λ>=),(j xi R 且X x j ∉,则令}{j X X ⋃=,}{j Q Q ⋃=;(4)1+=j j ;(5)若n j <,返回(1);(6)若Q 为空集,怎输出聚类x,X -T T =;(7))1(xi Q =,}{xi Q Q -=,返回(2)。

设置不同的置信水平λ值,就可以得到不同的分类。

Matlab 程序实现:A=data;[N M] = size(A);for i = 1:Nfor j = 1:NR(i,j)=abs(1-sum(abs(A(i,:)-A(j,:)))/sum(max([A(i,:);A(j,:)])));endendfor j=1:42for i=1:42y(i,j)=0;for k=1:42mn(k)=min(R(i,k),R(k,j));endy(i,j)=max(mn);endendnumda=[1 0.9 0.95 0.85 0.8 0.75 0.55 0.7 0.655 0.65 0.6 0.55 0.5 0.45 0.454 0.4 0.45 0.3 0.35 0.255 0.25 0.2 0.15 0.1];for i=1:42TT(i)=i;endfor i=1:length(numda)disp ('当分类系数是');disp(numda(i));a=numda(i);T=TT;disp ('分类为');while 1if ~isempty(T)xi=T(1);endX=[];Q=[];while 1for j=1:42if (y(xi,j)>=a)&isempty(intersect(X,j))X=union(X,j);Q(length(Q)+1)=j;endendif isempty(Q)disp(X);breakelsexi=Q(1);Q(1)=[];endendT=setdiff(T,X); if isempty(T) breakendendend。

Matlab学习系列21. 模糊综合评价

Matlab学习系列21. 模糊综合评价

21. 模糊综合评价(一)模糊理论简述一、模糊集与隶属度用数学的眼光看世界,现象分为确定性现象、随机现象、模糊现象(如“今天天气很热”,“小伙子很高”等)。

其基本思想是,用属于程度代替属于或不属于(如某人属于高个子的程度为0.8)。

经典集合语言:只有两种情况,要么x ∈A 要么x ∉A , 用特征函数χA ()→{0,1}表示:1, ()0, A x A x x A χ∈⎧=⎨∉⎩模糊集合语言:用隶属度函数μA ()→[0,1]表示,它确定了X 上的一个模糊集A . μA (x )越接近1, 表明x 属于A 的程度越大。

注:一般用A (x )表示x 对模糊集A 的隶属度。

例1考虑年龄集U=[0,100],O=“年老”,O 也是一个年龄集,u = 20 ∉ O ,u = 40 呢?Zadeh 给出了 “年老”集隶属度函数刻画:Y=“年轻”也是U 的一个子集,只是不同的年龄段隶属于这一集合的程度不一样,Zadeh 给出它的隶属度函数:例2设身高集U={140, 150, 160, 170, 180, 190}, “高个子集”A的隶属度可定义为140()190140xA x-=-。

实际问题中隶属函数常用模糊统计方法确定(统计隶属频率)。

二、模糊集的运算(1) 相等A=B ⇔A(x)=B(x), ∀x∈X(2) 包含A⊆B ⇔A(x)≤B(x), ∀x∈X(3) 并(∨表示取大运算)(A∪B)(x) = A(x)∨B(x) = max{A(x), B(x)}, ∀x∈X(4) 交(∧表示取小运算)(A∩B)(x) = A(x)∧B(x) = min{A(x), B(x)}, ∀x∈X(5) 余A c(x) = 1-A(x), ∀x∈X三、模糊矩阵设R=(r ij )n ×m 为矩阵,满足0≤r ij ≤1, 则称R 为模糊矩阵,当r ij 只取0或1时,R 称为布尔矩阵。

设A, B 分别为X 和Y 上的模糊集,X 与Y 之间存在模糊关系,可用n ×m 模糊矩阵R 表示,则B A R = 称为模糊变换。

MATLAB模糊聚类分析案例程序

MATLAB模糊聚类分析案例程序

3.数据标准化 (1) 数据矩阵设论域12345678910,1112U={,,,,,,,,,,}x x x x x x x x x x x x 为被分类的对象,每个对象又由指标1234567Y ={,,,,,,,,}y y y y y y y y y 表示其性状即1234567891x ={,,,,,,,,,,}i i i i i i i i i i i i ix x x x x x x x x x x x (i=1,2,…,12)于是得到原是数据矩阵7 5 2 5 0 1 3 4 2 12 17 8 21 9 2 38 4 37 83 29 59 65 37 20 54 13 26 53 13 31 36 21 A =23 12 18 14 178 69 112 78 104 36 94 31 47 23 25 36 11 12 11 24 6 16 101 32 53 52 86 52 41 38 94 28 6 7 8 8 2 0 3 29 169 51 58 72 49 30 48 37 146 327 91 126 92 89 69 79 29 49 93 27 54 64 24 17 23 11 49 18 7 9 5 1 2 18 3 8 ⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭(2) 数据标准化将模糊矩阵的每一个数据压缩到[0,1]上,采用平移.极差变换进行数据标准化1i n1i n1i nA (i,k)-{A (i,k )}B (i,k)={A (i,k)}-{A (i,k)}m in m ax m in ≤≤≤≤≤≤ (k=1,2,…,m)运用matlab 编程由函数F_jisjbzh.m 【见附录3.4】的标准化矩阵是 附录3.4function [X]=F_JISjBzh(cs,X) %模糊聚类分析数据标准化变换%X 原始数据矩阵;cs=0,不变换;cs=1,标准差变换 %cs=2,极差变换if(cs==0) return ;end[n,m]=size(X);% 获得矩阵的行列数 if(cs==1) % 平移极差变换 for(k=1:m) xk=0;for(i=1:n) xk=xk+X(i,k);end xk=xk/n;sk=0;for(i=1:n) sk=sk+(X(i,k)-xk)^2;end sk=sqrt(sk/n);for(i=1:n) X(i,k)=(X(i,k)-xk)/sk;end endelse %平移*极差变换for(k=1:m) xmin=X(1,k);xmax=X(1,k); for(i=1:n)if(xmin>X(i,k)) xmin=X(i,k);end if(xmax<X(i,k)) xmax=X(i,k);end endfor(i=1:n) X(i,k)=(X(i,k)-xmin)/(xmax-xmin);end endend0 0 0 0 0 0 0.0319 0.0286 0 0.0156 0.1395 0.0484 0.1839 0.0865 0.0147 0.4043 0.B=0286 0.2431 0.2375 0.2791 0.4597 0.6897 0.3558 0.2794 0.5745 0.2857 0.1667 0.1437 0.0930 0.2339 0.3563 0.2019 0.3235 0.1277 0.4286 0.0833 0.5344 0.7442 0.8871 0.8391 1.0000 0.5147 1.0000 0.8000 0.3125 0.0500 0.2326 0.2742 0.0690 0.1154 0.1471 0.2553 0.0857 0.0972 0.2938 0.3140 0.4113 0.5402 0.8269 0.7500 0.4362 1.0000 0.6389 0.0656 0.0116 0.0403 0.0345 0.0769 0.0147 0 0 0.1875 0.5062 0.5349 0.4516 0.7701 0.4712 0.4265 0.5106 0.9714 1.0000 1.0000 1.0000 1.0000 1.0000 0.8558 1.0000 0.8404 0.7429 0.3264 0.2687 0.2558 0.4194 0.6782 0.2308 0.2353 0.2447 0.2286 0.3264 0.0344 0.0233 0.0565 0 0.0096 0.0147 0.1915 0 0.0417⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭第二步:标定(建立模糊相似矩阵) 对标定我们运用了直接欧几里得距离法:ij r 1c d(x ,x )i j =-⨯其中c 为任意选区的参数,它使得0≤ij r ≤1,d(x ,x )i j 表示i x 与j x 的距离,(,)i j d x x =运用matlab 软件编写F_jir.m 函数【见附录3.5】,取cs==8,的模糊相似矩阵附录3.5:(仅附录了一段用到的程序) function [R]=F_jir(cs,X) %cs==8,直接欧几里得距离法%cs==9,直接海明距离法(绝对值减数法) %cs==10,直接切比雪夫距离法elseif(cs<=10)C=0;for(i=1:n)for(j=i+1:n)d=0;%直接欧几里得距离法if(cs==8)for(k=1:m)d=d+(X(i,k)-X(j,k))^2;endd=sqrt(d);%直接海明距离法elseif(cs==9)for(k=1:m)d=d+abs(X(i,k)-X(j,k)); end%直接切比雪夫距离法elsefor(k=1:m)if(d<abs(X(i,k)-X(j,k))) d=abs(X(i,k)-X(j,k)); endendendif(C<d)C=d;endendendC=1/(1+C);for(i=1:n)for(j=1:n)d=0;%直接欧几里得距离法if(cs==8)for(k=1:m)d=d+(X(i,k)-X(j,k))^2;endd=sqrt(d);%直接海明距离法elseif(cs==9)for(k=1:m)d=d+abs(X(i,k)-X(j,k)); end%直接切比雪夫距离法 elsefor(k=1:m)if(d<abs(X(i,k)-X(j,k))) d=abs(X(i,k)-X(j,k)); end end endR(i,j)=1-C*d; end end1.0000 0.8596 0.6731 0.7995 0.3715 0.8668 0.4930 0.9383 0.4602 0.2745 0.7151 0.9499 0.8596 1.0000 0.7638 0.8150 0.4634 0.8973 0.5608 0.87R =46 0.5490 0.3541 0.7866 0.8972 0.6731 0.7638 1.0000 0.8140 0.6694 0.7736 0.6961 0.6907 0.6812 0.5618 0.8907 0.7016 0.7995 0.8150 0.8140 1.0000 0.5349 0.8534 0.6705 0.8105 0.6204 0.4449 0.8491 0.8063 0.3715 0.4634 0.6694 0.5349 1.0000 0.4863 0.7104 0.3928 0.6905 0.7863 0.5998 0.4001 0.8668 0.8973 0.7736 0.8534 0.4863 1.0000 0.5801 0.8755 0.5494 0.3881 0.7991 0.8972 0.4930 0.5608 0.6961 0.6705 0.7104 0.5801 1.0000 0.5216 0.8026 0.6199 0.6783 0.5091 0.9383 0.8746 0.6907 0.8105 0.3928 0.8755 0.5216 1.0000 0.4959 0.2979 0.7446 0.9300 0.4602 0.5490 0.6812 0.6204 0.6905 0.5494 0.8026 0.4959 1.0000 0.6214 0.6852 0.4802 0.2745 0.3541 0.5618 0.4449 0.7863 0.3881 0.6199 0.2979 0.6214 1.0000 0.5161 0.3002 0.7151 0.7866 0.8907 0.8491 0.5998 0.7991 0.6783 0.7446 0.6852 0.5161 1.0000 0.7343 0.9499 0.8972 0.7016 0.8063 0.4001 0.8972 0.5091 0.9300 0.4802 0.3002 0.7343 1.0000⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭(3)聚类(求动态聚类图) <1>传递闭包法根据标定所得的模糊矩阵,只是一个模糊相似矩阵R ,不一定具有传递性,即R 不一定是模糊等价矩阵,还需要对其改造成模糊等价矩阵R ’,根据定理,用二次方法求传递闭包t (R ),t (R )就是所求模糊等价矩阵R ’,即:t (R )=R ’,再让λ由大变到小,就可形成动态聚类图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档