1、模糊数学MATLAB实验,例1: 程序: 1)a=0.4 0.7 0;1 0.8 0.5,b=1 0.7;0.4 0.6;0 0.3 m=size(a,1);n=size(b,2); for i=1:m for j=1:n c(i,j)=max(min(a(i,:);b(:,j); end end c,2)a=0.4 0.7 0;1 0.8 0.5,b=1 0.7;0.4 0.6;0 0.3 m=size(b,1);n=size(a,2); for i=1:m for j=1:n c(i,j)=max(min(b(i,:);a(:,j); end end c3) a*b 4) b*a,例2 现
2、有五个等级的茶叶样品,待识别茶叶B。反映茶叶质量的因素有六项指标,构成论域U ,其中 U=(条索),(色泽),(净度),(汤色),(色泽),(滋味) 设五个等级的样品对6项指标的数值为:,A1=( 0.5, 0.4, 0.3, 0.6, 0.5, 0.4) A2=(0.3, 0.2, 0.2, 0.1, 0.2, 0.2) A3=(0.2, 0.2, 0.2, 0.1, 0.1, 0.2) A4=(0, 0.1, 0.2, 0.1, 0.1, 0.1) A5=(0, 0.1, 0.1, 0.1, 0.1, 0.1) 待识别茶叶的各项指标值为 B=(0.4, 0.2, 0.1, 0.4, 0.5
3、, 0.6) 确定B的属类。,程序 a=0.5 0.4 0.3 0.6 0.5 0.4; 0.3 0.2 0.2 0.1 0.2 0.2 ;0.2 0.2 0.2 0.1 0.1 0.2 ;0 0.1 0.2 0.1 0.1 0.1; 0 0.1 0.1 0.1 0.1 0.1; b=0.4 0.2 0.1 0.4 0.5 0.6; for i=1:5 x=a(i,:);b; t(i)=min(max(min(x) 1-min(max(x); end t,例3:用MATLAB编程计算这个模糊关系矩阵的截矩阵,程序 A=1 0.5 0.2 0;0.5 1 0.1 0.3; 0.2 0.1 1 0
4、.8;0 0.3 0.8 1; for i=1:4for j=1:4if A(i,j)=0.8A(i,j)=1;else A(i,j)=0;endend end A,例4. 求解的 MATLAB 程序如下: i)求模糊相似矩阵的 MATLAB 程序 a=276.2 324.5 158.6 412.5 292.8 258.4 334.1 303.2 292.9 243.2 159.7 331.2;251.5 287.3 349.5 297.4 227.8 453.6 321.5 451.0 466.2 307.5 421.1 455.1 ;192.7 433.2 289.9 366.3 466.
5、2 239.1 357.4 219.7 245.7 411.1 357.0 353.2 ;246.2 232.4 243.7 372.5 460.4 158.9 298.7 314.5 256.6 327.0 296.5 423.0 ;291.7 311.0 502.4 254.0 245.6 324.8 401.0 266.5 251.3 289.9 255.4 362.1 ;466.5 158.9 223.5 425.1 251.4 321.0 315.4 317.4 246.2 277.5 304.2 410.7 ;258.6 327.4 432.1 403.9 256.6 282.9
6、389.7 413.2 466.5 199.3 282.1 387.6;453.4 365.5 357.6 258.1 278.8 467.2 355.2 228.5 453.6 315.6 456.3 407.2 ;158.2 271.0 410.2 344.2 250.0 360.7 376.4 179.4 159.2 342.4 331.2 377.7 ;324.8 406.5 235.7 288.8 192.6 284.9 290.5 343.7 283.4 281.2 243.7 411.1;,mu=mean(a),sigma=std(a) for i=1:12 for j=1:12
7、 r(i,j)=exp(-(mu(j)-mu(i)2/(sigma(i)+sigma(j)2); end end r save data1 r a,ii)矩阵合成的 MATLAB函数 function rhat=hecheng(r); n=length(r); for i=1:n for j=1:n rhat(i,j)=max(min(r(i,:);r(:,j); end end,iii)求模糊等价矩阵和聚类的程序 load data1 r1=hecheng(r) r2=hecheng(r1) r3=hecheng(r2) bh=zeros(12); bh(find(r20.998)=1,iv
8、)计算表6的程序 编写计算误差平方和的函数如下: function err=wucha(a,t); b=a;b(:,t)=; mu1=mean(a,2);mu2=mean(b,2); err=sum(mu1-mu2).2);,计算28个方案的主程序如下: load data1 ind1=1,5;ind2=2:3,6,8:11;ind3=4,7; so=; for i=1:length(ind1) for j=1:length(ind3) for k=1:length(ind2) t=ind1(i),ind3(j),ind2(k); err=wucha(a,t); so=so;t,err; en
9、d end end,so tm=find(so(:,4)=min(so(:,4); shanchu=so(tm,1:3),程序(1)首先编写函数文件 myfun.m如下 function f=myfun(x); f(1,:)=x(1,:)/8800; f(2,:)=1-x(2,:)/8000; f(3,:)=0; f(3,find(x(3,:)5.5 ,(2)编写程序文件如下: x=4700 6700 5900 8800 7600; 5000 5500 5300 6800 6000; 4.0 6.1 5.5 7.0 6.8 ; 30 50 40 200 160; 1500 700 1000 50 100; r=myfun(x); a=0.25,0.20,0.20,0.10,0.25; b=a*r,