如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

详情参考matlab官方帮助手册:plotmf()函数
https://www.mathworks.com/help/fuzzy/plotmf.html

1.在利用matlab模糊控制设计器时,将设计完成的模糊控制器保存到工作区/工作文件夹:File->Export->To Workspace… / To File

注意:格式为“XXX.fis”

在这里插入图片描述

2. plotmf(fis,‘input’,1)

在这里插入图片描述

  • 17
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
matlab隶属度函数通常用于模糊逻辑控制系统(FLC)和模糊集合论隶属度函数是一个将实数映射到[0,1]之间的函数,用于描述一个元素在某个模糊集合所占的比例大小,通常用符号μ表示。 在matlab隶属度函数可以通过定义数学函数来实现,比如sigmoid函数,高斯函数等。以下是一个使用matlab隶属度函数处理数据的例子: 假设我们有一组评分数据,数据范围为0到10,想将这些数据归一化为模糊集合“低”,“”,“高”,并用隶属度函数表示它们在各个模糊集合所占的比例大小。 1. 首先,我们定义三个隶属度函数,用于表示“低”,“”,“高”这三个模糊集合: mu_low = @(x) max(0, 1 - x/5); % “低”集合的隶属度函数 mu_mid = @(x) max(0, min(x/5, 2-x/5)); % “”集合的隶属度函数 mu_high = @(x) max(0, (x-5)/5); % “高”集合的隶属度函数 在上述定义,函数输入为对应的数据,函数输出为该数据在对应模糊集合隶属大小。 2. 接下来,我们可以使用定义好的隶属度函数来处理我们的评分数据,计算它们在每个模糊集合隶属大小: % 评分数据 scores = [2, 5.5, 7, 9, 3, 6.5, 8]; % 计算隶属大小 low_degree = arrayfun(mu_low, scores); mid_degree = arrayfun(mu_mid, scores); high_degree = arrayfun(mu_high, scores); 在上述代码,arrayfun函数可以对输入的数据向量应用指定的函数,并返回输出向量。 3. 最后,我们可以将隶属大小可视化出来,以更直观地了解数据在各个模糊集合所占比例: % 可视化隶属大小 figure(); plot(scores, low_degree, '-o', 'LineWidth', 2); hold on; plot(scores, mid_degree, '-o', 'LineWidth', 2); plot(scores, high_degree, '-o', 'LineWidth', 2); xlabel('评分'); ylabel('隶属大小'); legend('低', '', '高'); 在上述可视化,评分为x轴,隶属大小为y轴。每个数据点在三条曲线的位置,即为在对应模糊集合所占比例。从可以看出,评分较低的数据更多地靠近“低”集合,评分较高的数据更多地靠近“高”集合,评分等的数据则更多地靠近“”集合。 综上,通过定义数学函数来表示隶属度函数,并使用arrayfun函数计算输入数据在各个模糊集合隶属大小,可在matlab使用隶属度函数处理数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值