模糊数学与matlab

模糊数学与matlab模糊数学什么是模糊数学 还是看题吧 gt 求 R 的传递闭包 R 10 20 80 50 3 0 210 10 20 4 0 80 110 30 1 0 50 20 310 6 0 30 40 10 61 传递闭包求法 a size R B zeros a flag 0 whileflag 0fo

模糊数学

什么是模糊数学?

还是看题吧—>

求R的传递闭包:
R=[1 0.2 0.8 0.5 0.3; 0.2 1 0.1 0.2 0.4; 0.8 0.1 1 0.3 0.1; 0.5 0.2 0.3 1 0.6; 0.3 0.4 0.1 0.6 1]; %传递闭包求法 a=size(R); B=zeros(a); flag=0; while flag==0 for i= 1: a for j= 1: a for k=1:a B( i , j ) = max(min( R( i , k) , R( k, j) ) , B( i , j ) ) ;%R 与 R 内积,先取小再取大 end end end if B==R flag=1; else R=B;%循环计算 R 传递闭包 end end 
模糊综合评判
function[B]=fuzzy_zhpj(model,A,R) %模糊综合评判 B=[]; [m,s1]=size(A); [s2,n]=size(R); if(s1~=s2) disp('A的列不等于R的行'); else if(model==1) %主因素决定型 for(i=1:m) for(j=1:n) B(i,j)=0; for(k=1:s1) x=0; if(A(i,k) 
  
    j)) x=A( 
   i,k); 
   else x=R(k, 
   j); 
   end 
   if(B( 
   i, 
   j) 
   
     i, 
    j)=x; 
    end 
    end 
    end 
    end 
    elseif(model== 
    2) 
    %主因素突出型 
    for( 
    i= 
    1:m) 
    for( 
    j= 
    1:n) B( 
    i, 
    j)= 
    0; 
    for(k= 
    1:s1) x=A( 
    i,k)*R(k, 
    j); 
    if(B( 
    i, 
    j) 
    
      i, 
     j)=x; 
     end 
     end 
     end 
     end 
     elseif(model== 
     3) 
     %加权平均型 
     for( 
     i= 
     1:m) 
     for( 
     j= 
     1:n) B( 
     i, 
     j)= 
     0; 
     for(k= 
     1:s1) B( 
     i, 
     j)=B( 
     i, 
     j)+A( 
     i,k)*R(k, 
     j); 
     end 
     end 
     end 
     elseif(model== 
     4) 
     %取小上界和型 
     for( 
     i= 
     1:m) 
     for( 
     j= 
     1:n) B( 
     i, 
     j)= 
     0; 
     for(k= 
     1:s1) x= 
     0; x=min(A( 
     i,k),R(k, 
     j)); B( 
     i, 
     j)=B( 
     i, 
     j)+x; 
     end B( 
     i, 
     j)=min(B( 
     i, 
     j), 
     1); 
     end 
     end 
     elseif(model== 
     5) 
     %均衡平均型 C= 
     []; C=sum(R); 
     for( 
     j= 
     1:n) 
     for( 
     i= 
     1:s2) R( 
     i, 
     j)=R( 
     i, 
     j)/C( 
     j); 
     end 
     end 
     for( 
     i= 
     1:m) 
     for( 
     j= 
     1:n) B( 
     i, 
     j)= 
     0; 
     for(k= 
     1:s1) x= 
     0; x=min(A( 
     i,k),R(k, 
     j)); B( 
     i, 
     j)=B( 
     i, 
     j)+x; 
     end 
     end 
     end 
     else 
     disp( 
     '模型赋值不当'); 
     end 
     end 
     end 
     
    
  

只要把模型代入到代码里并且选择你想要的model即可。

模糊聚类
(一)基于择近原则的模糊聚类

代码如下:

function [ y ] = fuz_closing( A,B,type )%反映模糊集AB的贴近程度 %UNTITLED6 此处显示有关此函数的摘要 % 此处显示详细说明 [m,n]=size(A); switch type case 1 %海明贴近度 y=1-sum(abs(A-B))/n; case 2 %欧式贴进度 y=1-(sum(A-B).^2)^(1/2)/sqrt(n); case 3 %格贴近度 y1=max(min(ones(m,n)-A,ones(m,n)-B)); %ones(m,n)-A等于A^c y2=max(min(A,B)); y=min(y1,y2); end %贴进度越大越接近 end 

没错了就是这种题目,解法代码如下:

%用于评判属于哪个水平 A=[0.4 0.3 0.2 0.1 0.2]; B=[0.5 0.5 0.6 0.4 0.3; 0.3 0.3 0.4 0.2 0.2; 0.2 0.2 0.3 0.1 0.1; 0.1 0.1 0.2 0.1 0; 0.1 0.1 0.1 0.1 0]; for i=1:5 haiming(i)=fuz_closing(A,B(i,:),1); oushi(i)=fuz_closing(A,B(i,:),2); ge(i)=fuz_closing(A,B(i,:),3); end haiming; %输出海明法 oushi; %输出欧式法 ge; %输出格法

然后的出三个评判结果,数值最高的在哪个位置就是哪个等级—>所以不同的评判标准有可能星级不同~

(二)基于模糊等价关系的聚类

这个需要步骤哟~

第一步:样本数据归一化


%需要写三个函数: %第一个: function [ B ] = fco( Q,R ) %实现模糊合成 [n,m]=size(Q); [m,l]=size(R); B=zeros(n,l); for i =1:n for k=1:l B(i,k)=max(min([Q(i,:);R(:,k)'])); end end end %第二个函数: function [ B,k ] = tran_R( R ) %求R的传递闭包 %UNTITLED11 此处显示有关此函数的摘要 % k为满足R^2k=R^k的最小自然数k a=length(R); B=zeros(a,a); flag=0; k=1/2; while flag==0 B=fco(R,R); %模糊合成运算 k=2*k; if B==R flag=1; else R=B; %循环计算R的传递闭包 end end end %第三个函数: function [R] = fuz_distance( x,type ) %x为归一化的数据矩阵(必须处理过哟),type选择计算相似度的方法 % 返回模糊矩阵的相似矩阵R %距离法的选择参数c和a,需要根据具体情况修改以保证R(i,j)属于[0,1] [n,m]=size(x); c=0.1; a=1; for i =1:n for j=1:n switch type case 1 %夹角余弦法 R(i,j)=(x(i,:)*x(j,:)')/(norm(x(i,:),2)); case 2 %相关系数法 Dxi=abs(x(i,:)-mean(x(i,:))); Dxj=abs(x(j,:)-mean(x(j,:))); R(i,j)=(Dxi*Dxj')/(norm(Dxi,2)*norm(Dxj,2)); case 3 %海明距离法 d=sum(abs(x(i,:)-x(j,:))); R(i,j)=1-c*d^a; case 4 %欧式距离法 d=norm(x(i,:)-x(j,:),2); R(i,j)=1-c*d^a; case 5 %切比雪夫距离法 d=max(abs(x(i,:)-x(j,:))); R(i,j)=1-c*d^a; case 6 %最大最小(贴近度)法 R(i,j)=sum(min([x(i,:);x(j,:)]))/sum(max([x(i,:);x(j,:)])); case 7 %算术平均最小(贴近度)法 R(i,j)=2*sum(min([x(i,:);x(j,:)]))/sum(x(i,:)+x(j,:)); case 8 %几何平均最小(贴近度)法 R(i,j)=sum(min([x(i,:);x(j,:)]))/sum(sqrt(x(i,:).*x(j,:))); end end end end 

第三步:求出R的传递闭包t(R)

选取适合的lambda,利用lambda-截矩阵进行分类

代码如下:

function [ y ] = fuz_lamda( X,m ) %用lamda-截矩阵法将样本分成m类 lamda=unique(X)'; X(find(X 
    
      =lamda(m)))=1; y=X; end 
    

接下来我们解一题试试:

这里写图片描述

这里写图片描述

整理来自~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215065.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:46
下一篇 2026年3月18日 下午2:47


相关推荐

  • 奔图打印机显示未连接_奔图打印机常见故障及解决方法

    奔图打印机显示未连接_奔图打印机常见故障及解决方法奔图打印机常见故障及解决方法如何应对打印机卡纸?卡纸是激光打印机用户最常遇到的问题,造成卡纸的原因有很多,那么如何能够避免卡纸或降低卡纸的机率呢,我们需要注意以下几个方面:Ÿ尽量不要二次用纸,因为打印过一次的纸经过加热会造成纸张柔韧性下降,更加易断易碎容易造成卡纸。Ÿ使用平整的纸张,褶皱或折角的纸更容易卡在机器内部造成卡纸。Ÿ使用质量较好的纸张,一些质量不好的复印纸容易产生大量的纸屑长时间使…

    2022年6月2日
    85
  • QueryInterface 实现及使用的完整的例子

    QueryInterface 实现及使用的完整的例子下面我们将把前面所提到过和各代码段组合起来,以构成一个说明QueryInterface实现及使用的完整例子。总的来说可以将这些代码分成三部分。第一部分是接口IX、IY和IZ的定义部分。接口IUnknown的定义在Win32SDK的头文件1见UNKNWN.H中。第二部分是组件的实现。类CA实现了一个支持IX和IY接口的组件。QueryInterface的实现

    2022年7月22日
    9
  • 怎么关闭磁盘共享(电脑如何关闭默认共享)

         Windows2000/XP/2003版本的操作系统提供了默认共享功能,这些默认的共享都有“$”标志,意为隐含的,包括所有的逻辑盘(C$,D$,E$……)和系统目录Winnt或Windows(admin$)。   带来的问题:   微软的初衷是便于网管进行远程管理,这虽然方便了局域网用户,但对我们个人用户来说这样的设置是不安全的。如果电脑联网,网络上

    2022年4月11日
    1.1K
  • motan与zookeeper框架[通俗易懂]

    motan与zookeeper框架[通俗易懂]新浪科技讯2016年5月10日,微博方面宣布,支撑微博千亿调用的轻量级RPC框架Motan正式开源了。微博技术团队希望未来能有更多优秀的开源人入驻,并进一步完善优化。搭建新浪RPC框架motanDemo:http://blog.csdn.net/linuu/article/details/53115290 motan是新浪微博开源的RPC框架,github官网是:https:/…

    2025年8月2日
    4
  • 比Curosr还强,Claude code国内镜像站来了!附使用方式

    比Curosr还强,Claude code国内镜像站来了!附使用方式

    2026年3月16日
    2
  • 为什么opencv安装成功但import cv2失败_python和opencv

    为什么opencv安装成功但import cv2失败_python和opencv遇到的问题:win10如何安装opencvpycharm中importcv2模块出现错误,找不到该模块处理经过:win10如何安装opencv自己的电脑上已经装有anaconda,下载地址为:https://www.anaconda.com/download/,像numpy等包已经伴随anaconda安装到电脑上了,只需要再安装opencv就行。使用pipinstal…

    2022年8月27日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号