精华内容
下载资源
问答
  • 做模糊聚类分析时判断模糊矩阵传递性并计算传递闭包MATLAB实现,,可以算出模糊传递矩阵,当矩阵满足自反性对称性时为等价矩阵
  • matlab模糊矩阵的自乘

    千次阅读 2014-04-17 17:13:53
    例如,有一个模糊矩阵

    例如,有一个模糊矩阵

              

    用matlab解决,如下:

    -----------------------------------------------

    >> A=[0.1 0.2;
              0.3 0.4];
    for i=1:2
       Btemp3(i)=min(A(1,i),A(i,1));
       Ctemp3(i)=min(A(1,i),A(i,2));
       Dtemp3(i)=min(A(2,i),A(i,1));
       Etemp3(i)=min(A(2,i),A(i,2));
    end
    >> T3=[max(Btemp3),max(Ctemp3);
                max(Dtemp3),max(Etemp3)]

    --------------------------------------------------------------------

    结果如下:

    T3 =

        0.2000    0.2000
        0.3000    0.4000

     

    展开全文
  • 模糊关系合成运算的Matlab实现

    千次阅读 2020-03-23 21:03:55
    最近课程学到模糊数学,里面有关于模糊矩阵乘法,传递闭包的概念,十分不好理解,本来想手算几个例子来理解的,结果算到一半就烦了还十分容易算错,于是我就打算用matlab编写一个。 这里就不讲什么是模糊矩阵的乘法...

    最近课程学到模糊数学,里面有关于模糊关系合成运算传递闭包的概念,十分不好理解,本来想手算几个例子来理解的,结果算到一半就烦了还十分容易算错,于是我就打算用matlab编写一个。

    这里就不讲什么是模糊关系合成运算了。百度上能搜到的我这里就不赘述了,网上也有很多关于传递闭包的解释,都比较通俗易懂。我看到教材求传递闭包的方法就是模糊矩阵反复自乘,当结果t(.R)不改变的时候即为传递闭包的值。

    那么首先要编程的就是如何算模糊关系合成运算,也有人称为模糊矩阵乘积,算法是“先取小后取大”。用max()函数,min()函数就能搞定,最后再根据矩阵运算规则。于是有

    function [R]=fuzzymm(A,B)
    %模糊矩阵合成运算的Matlab实现
    %运算规则,先"取小后取大"
    %输入必须为二阶矩阵A为m行n列, B为n行p列;
    [m,n]=size(A);[q,p]=size(B);%获得输入矩阵的维度信息
    if n~=q
        disp('第一个矩阵的列数和第二个矩阵的行数不相同!');
    else
        R=zeros(m,p);%初始化矩阵
    for k =1:m    
        for j=1:p
            temp=[];
            for i =1:n
                Min = min(A(k,i),B(i,j)); %求出第i对的最小值
                temp=[temp Min]; %将求出的最小值加入的数组中
            end
            R(k,j)=max(temp);
        end
    end
    end
    end
    

    我们来测试一下

    clc
    clear all;
    A=[0.3 0.7 0.2;1,0,0.4;0,0.5,1;0.6,0.7,0.8];
    B=[0.1,0.9;0.9,0.1;0.6,0.4];
    [R]=fuzzymm(A,B);
    disp(R)
    

    得到的结果

        0.7000    0.3000
        0.4000    0.9000
        0.6000    0.4000
        0.7000    0.6000
    

    结果正确!
    那么求传递闭包的只需将传入的矩阵设为相同就可以了!
    那么模糊相似矩阵的传递闭包怎么求呢,只需要反复调用函数,当结果不改变时,即为该模糊相似矩阵的传递闭包。
    例如:
    [1 0.1 0.8 0.5 0.3;
    0.1 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]

    clc
    clear all
    R=[1 0.1 0.8 0.5 0.3;0.1 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];
    [tR]=fuzzymm(R,R)
    

    于是有
    如图
    再次相乘
    如图
    再次相乘,发现结果不改变
    如图
    故求得传递闭包

    展开全文
  • Matlab建立的模糊等价矩阵,十分有用,解决了不同阶次的矩阵求等价矩阵的问题,欢迎分享
  • matlab模糊控制工具箱使用和模糊控制pid实例参考

    万次阅读 多人点赞 2019-02-28 13:26:17
    Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。...

    Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。

    1、模糊控制工具箱使用

    首先我们在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口。

    下面我们都是在这样一个窗口中进行模糊控制器的设计。

    1确定模糊控制器结构:即根据具体的系统确定输入、输出量。

    这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为EECU,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。

    2输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。

    首先我们要确定描述输入输出变量语言值的模糊子集,如{NBNMNSZOPSPMPB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为{-3-2-10123};然后我们为模糊语言变量选取相应的隶属度函数。

    在模糊控制工具箱中,我们在Member Function Edit中即可完成这些步骤。首先我们打开Member Function Edit窗口.

    4步教你学会使用matlab模糊控制工具箱

    4步教你学会使用matlab模糊控制工具箱

    然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-3 3],添加隶属函数的个数为7.

     4步教你学会使用matlab模糊控制工具箱

    然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。

    4步教你学会使用matlab模糊控制工具箱

    3模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。

    首先要确定模糊规则,即专家经验。对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则(一般来说,这些规则都是现成的,很多教科书上都有),如图。

    4步教你学会使用matlab模糊控制工具箱

    制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。

    4对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。

        4步教你学会使用matlab模糊控制工具箱

    5)然后Export to disk,即可得到一个.fis文件,这就是你所设计的模糊控制器。

    6)simulink中使用fis文件,首先加入fuzzy模块,然后写入模糊文件,注意应用格式加单引号: 'fuzzpid.fis'

     

    2、模糊控制pid实例

    模糊PID控制,即利用模糊逻辑并根据一定的模糊规则对PID的参数进行实时的优化,以克服传统PID参数无法实时调整PID参数的缺点。模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分。小车通过传感器采集赛道信息,确定当前距赛道中线的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数。

     

     

    KP的模糊规则控制表

    ∆kp

    EC

    NB

    NM

    MS

    ZO

    PS

    PM

    PB

    E

    NB

    PB

    PB

    PM

    PM

    PS

    ZO

    ZO

    NM

    PB

    PB

    PM

    PS

    PS

    ZO

    NS

    NS

    PM

    PM

    PM

    PS

    ZO

    NS

    NS

    ZO

    PM

    PM

    PS

    ZO

    NS

    NM

    NM

    PS

    PS

    PS

    ZO

    NS

    NS

    NM

    NM

    PM

    PS

    ZO

    NS

    NM

    NM

    NM

    NB

    PS

    ZO

    ZO

    NM

    NM

    NM

    NB

    NB

     KI的模糊规则控制表

    ∆ki

    EC

    NB

    NM

    NS

    ZO

    PS

    PM

    PB

    E

    NB

    NB

    NB

    NM

    NM

    NS

    ZO

    ZO

    NM

    NB

    NB

    NM

    NS

    NS

    ZO

    ZO

    NS

    NB

    NM

    NS

    NS

    ZO

    PS

    PS

    ZO

    NM

    NM

    NS

    ZO

    PS

    PM

    PM

    PS

    NM

    NS

    ZO

    PS

    PS

    PM

    PB

    PM

    ZO

    ZO

    PS

    PS

    PM

    PB

    PB

    PB

    ZO

    ZO

    PS

    PM

    PM

    PB

    PB

    KD的模糊规则控制表

    ∆kd

    EC

    NB

    NM

    NS

    ZO

    PS

    PM

    PB

    E

    NB

    PS

    NS

    NB

    NB

    NB

    NM

    PS

    NM

    PS

    NS

    NB

    NM

    NM

    NS

    ZO

    NS

    ZO

    NS

    NM

    NM

    NS

    NS

    ZO

    ZO

    ZO

    NS

    NS

    NS

    NS

    NS

    ZO

    PS

    ZO

    ZO

    ZO

    ZO

    ZO

    ZO

    ZO

    PM

    PB

    NS

    PS

    PS

    PS

    PS

    PB

    PB

    PB

    PM

    PM

    PM

    PS

    PS

    PB

     

    模糊推理系统结构图

    输入变量的隶属取三角形函数,如下:

    误差变量E的隶属函数

    误差变化变量EC的隶属函数

    输出变量的隶属同样取三角形函数,如下:

    输出变量KP的隶属函数

     

    输出变量KD的隶属函数

    输出变量KI的隶属函数

    确定了输入和输出隶属函数后,在模糊规则编辑器中,输入表格中的模糊推理规则,共49条,如下图

    模糊推理编辑器

    此时得到的三参数的变化如下图

    模糊推理KP变化图

    模糊推理KI变化图

    模糊推理KD变化图

     

    运行仿真得到结果

    PS:有定制开发需求,可以QQ联系:1762016542

    提供matlab simulink 培训 1v1教学 或者思路沟通 答疑等咨询服务,尤其擅长汽车控制、信号处理、数学建模、电机领域

    欢迎关注公众号:算法工程师的学习日志

     

    展开全文
  • matlab矩阵合并及相关运算

    千次阅读 2019-07-03 00:56:41
    1、matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的。 a=rand(2,3); b=rand(2,3); c=[a;b]; d=[a,b]; c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并...

    1、matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的。

    a=rand(2,3);

    b=rand(2,3);

    c=[a;b];

    d=[a,b];

    c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并到a 的右边。

    2、创建等差向量组

    a=[1:2:11]

    注意涉及到向量内部对应数据之间的运算时一定要用点运算符号,(.)例如,求表达式b=a^2时应该写作 b=a.^2

    也可以利用linspace来创建等差向量,linspace(a,b,n)创建从a到b长度为n的等差数列。当n省略时,默认是100.

    3、向量的点乘和叉乘:点乘调用dot命令,dot(a,b),含义是两向量对应元素相乘并求和;

    叉乘cross(a,b),值得注意的是a,b应该是同维的,且行数或列数中至少有一个是3

    4、引用向量元素:

    a(i)取矩阵a中的第i个元素,a(:)将a的所有元素列出来,a(n:m)列出矩阵a中从第n个到第m个元素。

    5、复数的转置

    如果矩阵包含有复数元素,那么转置操作会自动计算复数的共轭值,即a’实际上是将a反转并求共轭。

    如果希望只是求转置而不用共轭则应当用(a.’)。

    6、矩阵中数组相乘,a.*b。作用是ab的对应元素相乘,求得一个与ab同维的矩阵

    7、对矩阵的元素进行操作。

    a(:,2)取第二列元素

    a(2,:)=[]删除第二行元素

    e=a([2,2,2,2],:)引用a的矩阵中第二行元素四次创建一个四行元素的矩阵。

    8、求矩阵的值

    det(a)

    9、矩阵的秩

    rank(a)

    Ax=b,则[A b]构成了增广矩阵,当且仅当 rank(A) =  rank(A  b)时系统有解。如果秩等于 n,那么系统有唯一解,但如果秩小于 n,那么系统有无数解。

    10、矩阵求逆

    当矩阵的值(det(a)不等于0)存在时,矩阵式可逆的,并用inv(a)来求逆矩阵。例:

    3x - 2y = 5
    6x - 2y = 2

    A = [3 -2; 6 -2]

    b = [5;2]

    x = inv(A)*b

    或x=A\b

    1、矩阵的化简

    MATLAB 中的 rref(A)函数使用 Gauss-Jordan 消元法产生矩阵 A 降行后的梯形形式。rref(A)。

    2、matlab绘图时两个命令:

    axis square和axis equal命令,前者是输出图形显示区域为方形,后者使两坐标轴比例间距相同。

    3、bar()命令绘制柱状图。stem()绘制离散针状图。

    x=rand(1,5),y=rand(1,5),stem(x,y,'-gd','fill')//头式菱形并且用绿色填充。

    4、声明符号变量应该用syms

    用expand可展开代数式。 例:
    syms y
    expand(cos(x+y))

    转载于:https://www.cnblogs.com/AI-Algorithms/p/3742693.html

    展开全文
  • 模糊相似矩阵Matlab程序,%三次样条插值程序
  • 1.模糊关系最大-最小合成: function [T]=max_minCompound(R,S) [m1,n1]=size®; [m2,n2]=size(S); if n1==m2 for i=1:m1 for j=1:n2 T(i,j)=max(min(R(i,:),S(:,j)’)); end end else fprint(‘矩阵输入错误’); ...
  • 模糊矩阵的合成

    千次阅读 2012-11-19 13:50:25
    matlab做了一下才十行不到的代码,matlab的确很强大。昨天晚上用matlab写了一下,后来又想用c去实现同样的效果,不像matlab有封装好的求最大值最小值函数,在c中需要自己定义,代码写的还算详细的,配合注释应该...
  • 计算隶属度矩阵和聚类中心,使得目标函数最小%算法步骤:初始化聚类中心,然后计算每一个样本对于每一类的隶属度,最终得到隶属度矩阵mu(i
  • 模糊矩阵方法.rar

    2019-05-11 16:11:45
    基于MATLAB编程模糊矩阵方法,用于对难以量化的事物进行评价
  • 首先确定被评价对象的因素(指标)集和评价(等级)集;再分别确定各个因素的权重及它们的隶属度向量,获得模糊评判矩阵;最后把模糊评判矩阵与因素的权向量进行模糊运算并进行归一化,得到模糊综合评价结果
  • 模糊综合评判计算程序,模糊综合评判的过程:1、灰色关联分析,求权重; 2、模糊聚类分析,划分等级;3、隶属度计算,求隶属函数;4、模糊综合评判,计算各单元等级。 各步骤的程序如下:
  • python/matlab进行模糊聚类分析

    千次阅读 多人点赞 2019-09-30 18:12:11
    根据标准化处理后的数据,用Matlab(或Python)编程,建立模糊相似矩阵,并编程求出其传递闭包矩阵; 根据模糊等价矩阵,编程绘制动态聚类图; 根据原始数据,编程确定最佳分类结果。 原始数据如下: no Y1 Y2 Y3 Y4...
  • 已知两个模糊向量分别如下所示,求它们的笛卡尔乘积。MATLAB程序可直接运行,有注释。
  • 一般而言,在模糊综合评价中,当确定评价矩阵(决策矩阵)、以及权重向量后,要进行模糊合成。模糊合成需要用到合成算子,下面介绍几种常用的合成算子。 1.Zadeh算子 2.有界算子 3.主因素决定型(取小取大算子) 4....
  • 判断矩阵一致性检验的Matlab源程序代码

    千次阅读 多人点赞 2019-08-07 13:53:03
    Matlab源程序代码如下: clc clear disp('请输入判断矩阵A') A=input('A='); [n,n] = size(A) %方法1: 算术平均法 Sum_A = sum(A); SUM_A = repmat(Sum_A,n,1); Stand_A = A ./ SUM_A; Stand_A = A ./ Sum_A; % ...
  • 利用matlab实现FCM算法,算法最终返回距离类中心,和每个样本对于不同类的隶属度矩阵。同时,使用随机生成的100个二维数据,进行算法程序的检验,给出具体的迭代次数和目标函数值,以及聚类的结果图。
  • 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...
  • 基本上,它是一个Hopfield神经网络,尽管在入射矩阵中可以出现同一节点之间的连接。 此外,我们基于Hebbian学习对权重进行了动态更新。 FCM代表系统的模型。 用于创造态度,塑造想法和做出决定。
  • 欢迎关注工科男的Maltab学习日志,采用...——工科男MATLAB符号计算1 符号计算基础1.1符号运算1.2 符号对象1.3 符号表达式中变量的确定2 符号导数及其应用2.1函数的极限2.2 符号函数求导及其应用3 符号积分4 级数...
  • MATLAB---成对判断矩阵检验一致性和求权重,整理而来的
  • 这样一个模糊评价矩阵就建立完毕。 2 另一个例子 考虑一个服装评判的问题,为此建立因素集U={u1,u2,u3,u4},其中u1表示花色,u2表示式样,u3表示耐穿程度,u4表示价格,建立评判集V={v1,v2,v3,v4},其中v1表示很...
  • 最优化及其matlab实现中模糊相似矩阵程序分析可以用到
  • 模糊综合评价模型,其基本思想是:在确定评价因素、因子的评价等级和权值的基础上,运用模糊集合变换原理,以隶属度描述个因素、因子的模糊界线,构造模糊矩阵,通过多层的复合运算,最终确定评价对象所属等级。
  • 已知子女与父母相似关系的模糊矩阵R和父母与祖父母相似关系的模糊矩阵S分别如下所示,求子女与祖父母的相似关系模糊矩阵。word文档有具体描述。
  • 模糊综合评价在matlab上的实现

    万次阅读 多人点赞 2018-12-27 11:57:06
    模糊综合评价法是一种基于模糊数学的综合评价方法,应用模糊关系合成的原理,将一些边界不清,不易定量的因素定量化,进行综合评价。该综合评价法根据模糊数学的隶属度理论把定性评价转化为定量评价,即用模糊数学...
  • 基本上它是一个 Hopfield 神经网络,尽管在同一节点之间的关联矩阵中可能会出现连接。 此外,我们采用了基于 Hebbian 学习的权重动态更新。FCM 表示系统模型。 用于创造态度、塑造想法和做出决定。
  • 4步教你学会使用matlab模糊控制工具箱

    万次阅读 多人点赞 2018-08-16 22:46:59
    Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,069
精华内容 2,427
关键字:

matlab模糊矩阵

matlab 订阅