隶属度函数模板

2024-06-15 13:48
文章标签 模板 函数 隶属

本文主要是介绍隶属度函数模板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模糊隶属度函数划分等级

根据国家对信号交叉路口的评价标准,对交通状况分为4个等级,分别为Ⅰ级舒适畅通、Ⅱ级接近饱和、Ⅲ级常呈混乱、Ⅳ级阻塞。因此选用4个等级的模糊隶属度函数。分别为:

某时段交通状况对Ⅰ级路况的隶属度函数:

         

某时段交通状况对Ⅱ级路况的隶属度函数:

         

某时段交通状况对Ⅲ级路况的隶属度函数:

         

某时段交通状况对Ⅳ级路况的隶属度函数:

         

式中: 为交通状况指数计算值; 分别对应该交通路况指数对应Ⅰ级、Ⅱ级、Ⅲ级和Ⅳ级道路状况的标准值,这里分别取0.20.40.60.8.相应的隶属度函数图像如下:

5隶属度函数分级示意图

将表6中的数据带入模糊隶属度函数中,得到交通状况指数i对级别j的隶属度矩阵见附录,根据最大隶属度原则,将各个时间段各个行进方式的道路交通情况划分等级如下表:

 

7交叉口道路交通等级时空分布

 

掉头

西直

南左

东直

东左

0~5min

5~10min

/

10~15min

15~20min

20~25min

平均状况

(Ⅰ级舒适畅通、Ⅱ级接近饱和、Ⅲ级常呈混乱、Ⅳ级阻塞)

画出相应的等级变化图

6交通等级变化图

结论:

  1. 西进口掉头、西进口直行、南进口左转、东进口直行、东进口左转这5个方向的平均交通状况等级分别为Ⅰ级、Ⅰ级、Ⅳ级、Ⅰ级和Ⅲ级。

  1. 交通状况最好的有西进口掉头、西进口直行、东进口直行三个行进方向,均为Ⅰ级舒适畅通。
  2. 交通状况最差是南进口左转行进方向,为Ⅳ级阻塞。
  3. 某行进方向上在该时段的交通状况等级是稳定的,不会发生大的变化,如上图中西进口直行方向仅在Ⅰ级、Ⅱ级波动。

 

 

 

 

 

对应的代码:

 

function lishu=f(x)

a=0.2;b=0.4;c=0.6;d=0.8;

% 第一级程度

if x<=a

lishu(1)=1;

end

if x>=a&x<=b

lishu(1)=(b-x)/(b-a);

end

if x>=b

lishu(1)=0;

end

% 第二级程度

if x<=a &x>=c

lishu(2)=0;

end

if x>=a&x<=b

lishu(2)=(x-a)/(b-a);

end

if x>=b&x<=c

lishu(2)=(c-x)/(c-b);

end

 

% 第san 级程度

if x<=b &x>=d

lishu(3)=0;

end

if x>=b&x<=c

lishu(3)=(x-b)/(c-b);

end

if x>=c&x<=d

lishu(3)=(d-x)/(d-c);

end

 

% 第si 级程度

if x<=c

lishu(4)=0;

end

if x>=c&x<=d

lishu(4)=(x-c)/(d-c);

end

if x>=d

lishu(4)=1;

end

这篇关于隶属度函数模板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063631

相关文章

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <