《PID算法Matlab仿真程序和C程序》由会员分享,可在线阅读,更多相关《PID算法Matlab仿真程序和C程序(6页珍藏版)》请在人人文库网上搜索。

1、增量式PID控制算法Matlab仿真程序设一被控对象G(s)=50/(0.125s2+7s),用增量式PID控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:-5,5,仿真曲线包括系统输出及误差曲线,并加上注释、图例)。程序如下clear all;close all; ts=0.001;sys=tf(50,0.125,7, 0);dsys=c2d(sys,ts,z);num,den=tfdata(dsys,v); u_1=0.0;u_2=0.0;y_1=0.0;y_2=0.0;x=0,0,0;error_1=0;error_2=0;for k=1:1:100。

2、0time(k)=k*ts; S=2;if S=1kp=10;ki=0.1;kd=15; rin(k)=1; %Step Signalelseif S=2kp=10;ki=0.1;kd=15; %Sine Signalrin(k)=0.5*sin(2*pi*k*ts); end du(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controlleru(k)=u_1+du(k);%Restricting the output of controllerif u(k)=5 u(k)=5;endif u(k)=110u(k)=110;endif u(k)=10u(k)=10;e。

3、ndif u(k)#includetypedef struct PIDdouble Command; /输入指令double Proportion; /比例系数double Integral; /积分系数double Derivative; /微分系数double preErr; /前一拍误差double sumErr; /误差累积PID;double PIDCale(PID *p,double feedback)double dErr,Err;Err=p-Command-feedback; /当前误差p-sumErr+=Err; /误差累加dErr=Err-p-preErr; /误差微分p-。

4、preErr=Err; return(p-Proportion*Err /比例项+p-Derivative*dErr /微分项+p-Integral*p-sumErr); /积分项void PIDInit(PID *p)memset(p,0,sizeof(PID); /初始化typedef struct motordouble lastY;double preY;double lastU;double preU;motor;void motorInit(motor *m)memset(m,0,sizeof(motor);double motorCal(motor *m,double u)dou。

5、ble y=1.9753*m-lastY-0.9753*m-preY+0.00003284*u+0.00006568*m-lastU+0.00003284*m-preU;/二阶系统m-preY=m-lastY;m-lastY=y;m-preU=m-lastU;m-lastU=u;return y;void main()FILE *fp=fopen(data.txt,w+);PID sPID;motor m_motor;int k=0;double u;double y=0;PIDInit(&sPID);sPID.Proportion=2;sPID.Derivative=1;sPID.Integ。

6、ral=0.00001;sPID.Command=10;motorInit(&m_motor);while(k/Title:增量式PID算法程序/Description:给出一个误差增量/Input: PID的P、I控制常数和之前的误差量(PID *pp)& 当前误差量(ThisError)/Return: 误差增量templ/int PIDCal( PID *pp, int ThisError )/增量式PID算法(需要控制的不是控制量的绝对值,而是控制量的增量)int pError,dError,iError;long templ;pError = ThisError-pp-LastError; iError = ThisError;dError = ThisError-2*(pp-LastError)+pp-PreError;/增量计算 templ=pp-Proportion*pError + pp-Integral*iError+pp-Derivative*dError; /增量/存储误差用于下次运算pp-PreError = pp-LastError;pp-LastError = ThisError;return (int)(templ8。

matlab控制算法C语言,PID算法Matlab仿真程序和C程序相关推荐

  1. pid算法matlab仿真程序和c程序,pid算法matlab仿真程序和c程序.doc

    pid算法matlab仿真程序和c程序.doc 1 增量式 PID 控制算 法 Matlab 仿真程序 设一被控对象 G(s) =50/(0.125s^2+7s),用增量式 PID 控制 算法编写仿真 ...

  2. 模糊PID控制器MATLAB仿真探讨,模糊PID控制器MATLAB仿真探讨

    模糊PID控制器MATLAB仿真探讨 技术探讨 l E H C LE P O ATO C NIA X L R I N T 馕表 Cl S UET l阅俄嚣 H A T MN TN中 Nl R N AO ...

  3. matlab无c语言基础自学,matlab及c语言在潮流计算运用【毕设、无需降重】.pdf

    Matlab 及 C 语言在潮流计算中的运用 陈洲 (三峡大学电气信息学院 班) 摘要 :潮流计算是研究电力系统稳态运行情况的一种基本电气计算,常规 潮流计算的任务是根据给定的运行条件和网路结构确定整 ...

  4. 分裂层次聚类matlab实现,凝聚层次聚类算法matlab源码

    <凝聚层次聚类算法matlab源码>由会员分享,可在线阅读,更多相关<凝聚层次聚类算法matlab源码(3页珍藏版)>请在人人文库网上搜索. 1.共享一个在数据挖掘课程中作为示 ...

  5. matlab 发微信,微信红包算法MATLAB实现

    上午看到基友分享的微信红包算法的文章,代码很短,春节期间红包太火了,看完就也想实现下玩玩,原代码是JAVA的,没接触过JAVA,所以看懂后改成了MATLAB的.原文链接:微信红包随机算法初探 , 作者 ...

  6. matlab实现大气湍流退化模型算法,matlab与图像处理

    关于MATLAB在数字图像复原技术中应用的文献综述 摘要:图像复原技术在图像处理领域中具有非常重要的地位,该技术能够最大程度地恢复图像的本来面貌图像复原技术的重点在于找出导致图像失真的原因,并针对该原 ...

  7. 智能小车c语言pid算法,智能小车pid算法

    3.1寻迹算法 采用PID(PD)控制算法,如果某时刻检测到黑线偏左,就要向左转弯:如果检测到黑线偏右,就要向右转.偏得越多,就要向黑线方向打越大的转角.这就是比例控制(P). 遗憾的是,因为小车有惯 ...

  8. matlab转scilab语言,为什么从matlab转换到scilab时会出现“错误的输出参数数”错误?...

    我试图把这个matlab代码转换成scilab,但是我有一些问题. N = 101; L = 4*pi; x = linspace(0,L,N); % It has three data set; 1 ...

  9. 软抠图算法matlab代码,贝叶斯抠图算法matlab实现

    [实例简介] 完整的贝叶斯抠图matlab实现代码,经测试可运行,文档包含了图片资源,代码没有注释 [实例截图] [核心代码] BayesianMatting └── BayesianMatting ...

最新文章

  1. c# u盘使用记录_C# 系统应用之通过注册表获取USB使用记录(一)
  2. php where 不包含,php – 除非它们包含“where”或“like”子句,否则不允许删除
  3. python模型_python 模型的释义
  4. spark 查看yarn日志_spark周边项目之Livy
  5. h3c s5500-28c-si操作
  6. jackson 反序列化string_Jackson序列化和反序列化
  7. HttpClient发送get post请求和数据解析
  8. HenCoder 3-1 触摸反馈,以及 HenCoder Plus
  9. 统计字符串中含指定字符个数
  10. cfree mysql_如何配置CFree才能开发MySql数据库应用
  11. 使用FontCreator工具创建字体符号
  12. ipod nano7安装linux,怎么用ipod nano看视频?
  13. 移动光猫路由改桥接降低延时初尝试
  14. js实现回到顶部,以及回到指点div顶部
  15. express获取url路由地址参数的方法 获取get请求参数
  16. 瞰见 | 开源,会不会变成开源创业的焦油坑?
  17. html5研究背景及意义,基于HTML5的统计图表系统的研究与设计
  18. 线程安全、线程同步、线程间通信
  19. 梦之旅游戏攻略html5,《梦之旅1:梦境》攻略
  20. xiaopiu怎么导出html,聊聊xiaopiu那些鲜为人知的惊喜功能(进阶篇)

热门文章

  1. 【Flink】Flink 1.11深度解析 【视频笔记】
  2. Spring : Spring 事务控制 设置手动回滚 TransactionAspectSupport
  3. Docker : Docker镜像的分层结构
  4. Spring 容器简介
  5. DUBBO:前端调用后端服务返回类名
  6. Rabbitmq的三种方式
  7. 云计算学习路线图素材课件:DevOps和云计算之间的关系
  8. 如何设计一个安全的对外接口,老司机总结了这几点...
  9. 工具--常见eclipse配置导入web工程(tomcat容器)步骤
  10. 四则运算03(附第四周进度条)