2022年模糊PID的C语言程 .pdf

上传人:Q****o 文档编号:27201601 上传时间:2022-07-23 格式:PDF 页数:4 大小:34.28KB
返回 下载 相关 举报
2022年模糊PID的C语言程 .pdf_第1页
第1页 / 共4页
2022年模糊PID的C语言程 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年模糊PID的C语言程 .pdf》由会员分享,可在线阅读,更多相关《2022年模糊PID的C语言程 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、论域 e:-3,3 ec:-0.3,0.3 kp:-0.3,0.3 #define NB 0 #define NM 1 #define NS 2 #define ZO 3 #define PS 4 #define PM 5 #define PB 6 /*求隶属度(三角形)模糊化处理*/ float uf(float x,float a,float b,float c) if(x=a) return 0; else if(ax)&(x=b) return (x-a)/(b-a); else if(bx)&(xc) return 0; /*三角形反模糊化处理*/ float cuf(float x

2、,float a,float b,float c) float y,z; z=(b-a)*x+a; y=c-(c-b)*x; return (y+z)/2; /*梯形 (左)求隶属度模糊化 */ float ufl(float x,float a,float b) if(x=a) return 1; else if(ax)&(xb) return 0; /*梯形反模糊化 */ float cufl(float x,float a,float b) return b-(b-a)*x; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

3、 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - /*梯形 (右)求隶属度模糊化 */ float ufr(float x,float a,float b) if(x=a) return 0; if(ax)&(x=b) return 1; /*梯形反模糊化 */ float cufr(float x,float a,float b) return (b-a)*x +a; /*求交集 */ float fand(float a,float b) return (ab)?a:b; /*求并集 */ float forr(float a,floa

4、t b) return (ab)?b:a; /*主函数 */ void main() /*模糊规则表 */ int kp77=PB,PB,PM,PM,PS,ZO,ZO, PB,PB,PM,PS,PS,ZO,ZO, PM,PM,PM,PS,ZO,NS,NS, PM,PM,PS,ZO,NS,NM,NM, PS,PS,ZO,NS,NS,NM,NM, PS,ZO,NS,NM,NM,NM,NB, ZO,ZO,NM,NM,NM,NB,NB; esNB=ufl(e,-3,-1); esNM=uf(e,-3,-2,0); esNS=uf(e,-3,-1,1); esZO=uf(e,-2,0,2); esPS=

5、uf(e,-1,1,3); esPM=uf(e,0,2,3); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - esPB=ufr(e,1,3); ecsNB=ufl(ec,-0.3,-0.1);/ec ecsNM=uf(ec,-0.3,-0.2,0); ecsNS=uf(ec,-0.3,-0.1,0.1); ecsZO=uf(ec,-0.2,0,0.2); ecsPS=uf(ec,-0.1,0.1,0.3); ecsPM=uf(

6、ec,0,0.2,0.3); ecsPB=ufr(ec,0.1,0.3); /*模糊推理规则的可信度通过取小点运算得到*/ float form77; int i,j; for(i=0;i7;i+) float w,h,r; for(j=0;j7;j+) h=esi; r=ecsj; w=fand(h,r); formij=w; /*求得的最大值赋给formab*/ int a=0,b=0; for(i=0;i7;i+) for(j=0;j7;j+) if(formabformij) a=i; b=j; float lsd;int p; lsd=formab;/es和 ecs最值中的最大值p=

7、kpab; float detkp;if(p=NB) detkp=cufl(lsd,-0.3,-0.1); else if(p=NM) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - detkp=cuf(lsd,-0.3,0.2,0); else if(p=NS) detkp=cuf(lsd,-0.3,0.1,0.1); else if(p=ZO) detkp=cuf(lsd,-0.2,0,0.2); else if(p=PS) detkp=cuf(lsd,-0.1,0.1,0.3); else if(p=PM) detkp=cuf(lsd,0,0.2,0.3); else if(p=PB) detkp=cufr(lsd,0.1,0.3); float kpint ;kpint+=detkp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁