模糊数学模型Matlab实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊数学模型Matlab 实验
1、画出下面这些模糊隶属函数的图形(要求:从下面三种分布类型的隶属函数中各选一个用Matlab 画出它们的图形)
偏小型梯形分布隶属函数:
令a=1,b=2
偏小型Г分布隶属函数:
令a=1,k=0.5,得:
x a b x A x a x b b a x b
1,(),0,<⎧⎪-⎪=≤≤⎨-⎪>⎪⎩
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
k x a x a A x e x a k ()1,(),(0)--<⎧=⎨≥>⎩
偏小型正态分布隶属函数:
令a=1, σ=2
00.20.40.60.81 1.2 1.4 1.6 1.82
0.65
0.7
0.75
0.8
0.85
0.9
0.95
x a x a A x e x a 2
()1,(),--σ≤⎧⎪=⎨⎪>⎩
2、用Matlab 编程计算下面两个矩阵A 和B 的模糊合成,得到矩阵C ,其中}1)max{(s k b a c kj ik ij ≤≤∧=
⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛=6.04.02.05.03.01.0,3.06.02.05.01.04.0B A 1运行matlab ,先将模糊合成的函数synt 编写成M 文件
function ab=synt(a,b);
m=size(a,1);n=size(b,2);
for i=1:m
for j=1:n
ab(i,j)=max(min([a(i,:);b(:,j)']));
end
end
之后再在matlab 中输入如下:
A=[0.4,0.5,0.6;0.1,0.2,0.3]; %输入A 矩阵
B=[0.1,0.2;0.3,0.4;0.5,0.6]; %输入B 矩阵
C=synt(A,B) %A 、B 矩阵进行模糊合成C 矩阵
运行后得到如下结果:
C =
00.20.40.60.81 1.2 1.4 1.6 1.82
0.10.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.5000 0.6000
0.3000 0.3000
3、用Matlab 编程计算下面这个模糊关系矩阵的0.8—截集矩阵得到8.0A
⎪⎪⎪⎪⎪⎭
⎫ ⎝
⎛=18.03.008.011.02.03.01.015.002.05.01A
在matlab 中运行如下程序:
A=[1,0.5,0.2,0;0.5,1,0.1,0.3;0.2,0.1,1,0.8;0,0.3,0.8,0.1];
for i=1:4
for j=1:4
if A(i,j)>=0.8
A(i,j)=1;
else A(i,j)=0;
end
end
end
A
运行后得到结果: 8.0A =
1 0 0 0
0 1 0 0
0 0 1 1
0 0 1 0
4、大气环境质量的模糊综合评价
实验过程:
1、按照题目要求,先编写四个隶属函数,并分别存为ri1,ri2ri3,ri4四个M 文件,以备之后运算需要(即将题目中所给的函数编码化)
ri1:
function Ri1=ri1(x1,a1,a2);
if x1<=a1
Ri1=1
elseif x1>a1&&x1 Ri1=(a2-x1)/(a2-a1); else Ri1=0; end ri2: function Ri2=ri2(x1,a1,a2,a3) if x1 Ri2=(x1-a1)/(a2-a1); elseif x1 Ri2=(a3-x1)/(a3-a2); else Ri2=0; end ri3: function Ri3=ri3(x1,a2,a3,a4); if x1 Ri3=(x1-a2)/(a3-a2); elseif x1 Ri3=(a4-x1)/(a4-a3); else Ri3=0; end ri4: function Ri4=ri3(x1,a3,a4); if x1<=a3 Ri4=0; elseif x1 Ri4=(x1-a3)/(a4-a3); else Ri3=1; end 2、做Fuzzy_Relational_Matrix主函数,主程序如下: function R=Fuzzy_Relational_Matrix(SO2,TSP,NOx,CO,PM1,O3) R=zeros(6,4); %建立6行4列空矩阵R S=[0.05 0.15 0.25 0.5;0.12 0.30 0.5 1;0.1 0.1 0.15 0.3;4 4 6 10;0.05 0.15 0.25 0.5;0.12 0.16 0.2 0.4]; %大气污染物评价标准 T=zeros(1,6); %建立1行6列空矩阵 T(1,1)=SO2;T(1,2)=TSP;T(1,3)=NOx;T(1,4)=CO;T(1,5)=PM1;T(1,6)=O3; for i=1:6 %将6种污染物的实际值填入表中 R(i,1)=ri1(T(i),S(i,1),S(i,2)); R(i,2)=ri2(T(i),S(i,1),S(i,2),S(i,3)); R(i,3)=ri3(T(i),S(i,2),S(i,3),S(i,4)); R(i,4)=ri4(T(i),S(i,3),S(i,4)); %将6种污染物数值带入隶属函数进行评价end 2、将以上4个分函数和1个主函数都编写好存成M文件后,在matlab主画面输入: