请教d1431的参数,带参数的传递函数如何在matlab实现

捷配欢迎您!
微信扫一扫关注我们
当前位置:&>>&&>>&&>>&基于MATLAB的PID控制系统参数调节方案
导读:实际工程中由于PID 控制多重应用型优点(如,结构简单、调整方便、稳定性好、工作可靠等),因此它还是应用最广泛的控制规律,或是基于基本PID 控制的各种改进型PID 控制。
  1. PID 原理及算法
  当我们不能将被控对象的结构和参数完全地掌握,或者是不能得到精确的数学模型时,在这种情况下最便捷的方法便是采用PID 控制技术。为了使控制系统满足性能指标要求,PID 控制器一般地是依据设定值与实际值的误差,利用比例(P)、积分(I)、微分(D)等基本控制规律,或者是三者进行适当地配合形成相关的复合控制规律,例如,PD、PI、PID 等。
  图1 是典型PID 控制系统结构图。在PID 作用下,对误差信号分别进行比例、积分、微分组合控制。调节器的输出量作为被控对象的输入控制量。
  图1 典型系统结构图
  PID 控制器主要是依据给定值r(t)与实际输出值y(t)构成控制偏差,用公式表示即e(t)=r(t)-y(t),它本身属于一种线性控制器。通过线性组合偏差的比例(P)、积分(I)、微分(D),将三者构成控制量,进而控制受控对象。控制规律如下:
  其传递函数为:
  式中:Kp--比例系数; Ti--积分时间常数; Td--微分时间常数。
  2. PID 控制器的MATLAB 仿真
  美国MathWorks 公司推出的MATLAB 是一套具备高性能的数值计算和可视化软件。由于MATLAB 可以将矩阵运算、图形显示、信号处理以及数值分析集于一体,构造出的用户环境使用方便、界面友好,因此MATLAB 受到众多科研工作者的欢迎。本文利用MATLAB 仿真Simulink 的功能,在基于仿真环境Matlab/Simulink 工具上用图形化方法直接建立仿真系统模型,启动仿真过程,将结果在上显示出来。
  3. 仿真实例分析
  3.1 建立数学建模
  设被控对象等效传递函数为
  3.2 仿真建模
  仿真建模的目的就是将数学模型转换成计算机能够执行的模型,运用Simulink 可以达到此目的。图2 是综合图1 和给定计算公式运用Simulink 建立的PID 控制的连续系统的仿真模型(建模步骤略)。
  图2 Simulink仿真建模
  3.3 仿真实验
  在传统的PID 调节器中,参数的整定问题是控制面临的最主要的问题,控制系统的关键之处便是将Kp、Ti、Td三个参数的值最终确定下来。而在工业过程控制中首先需要对PID 控制中三参量对系统动态性的影响进行实际深入地了解,才能确定怎样将三参数调节到最佳状态。在本实验中,对各参量单独变化对系统控制作用的影响进行讨论,其中在对一个参量变化引发的影响进行讨论时,需要将其余两个参数设定为常数。
  3.3.1 P 控制作用分析
  分析比例控制作用。设Td= 0、Ti=∞、Kp= 3 ~ 10.输人信号阶跃函数,分别进行仿真,如图3 所展示的系统的阶跃响应曲线。
  图3 显示的仿真结果表明:系统的超调量会随着Kp值的增大而加大,系统响应速度也会会随Kp值的增大而加快。但是系统的稳定性能会随着Kp的增大而变差。
  图3 单闭环调速系统P控制阶跃响应曲线
  3.3.2 比例积分控制作用的分析
  设比例积分调节器中Kp= 1,讨论Ti=
~ 0.05 时。输人信号阶跃函数,分别进行仿真,如图4 所展示的系统的系统的阶跃响应曲线。
  图4 单闭环调速系统PI控制阶跃给定响应曲线
  系统的超调量会随着Ti值的加大而减小,系统响应速度随着Ti值的加大会略微变慢。
  3.3.3 微分调节作用的分析
  设Kp= 1、Ti= 0.01,讨论Td= 10 ~ 100 时对系统阶跃响应曲线的影响。输人信号阶跃函数,分别进行仿真,如图5 所展示的系统的阶跃响应曲线。
  图5 单闭环调速系统PID控制阶跃给定响应曲线
  图5 所显示的仿真结果表明:根据单闭环调速系统的参数配合情况,起始上升段呈现较尖锐的波峰,Kp= 1、Ti= 0.01不变时,随着Td值的加大,闭环系统的超调量增大,响应速度变慢。
  4 .结论
  (1)对于PID 参数采用MATLAB 进行整定和仿真,使用起来不仅快捷、方便,而且更为直观,同时也避免了传统方法反复修改参数调试。
  (2)系统的响应速度会随Kp值的增大而加快,同时也有助于静差的减小,而Kp值过大则会使系统有较大超调,稳定性变坏;此外,系统的动作会因为过小的Kp值减慢。
  (3)超调的减小、振荡变小以及系统稳定性的增加都取决于积分时间Ti的增大,但是系统静差消除时间会因为Ti的增大而变长。
  (4)增大微分时间Td对于系统的稳定性、系统响应速度的加快以及系统超调量的减小都会有所帮助。但是如果Td过大,则会使得调节时间较长,超调量也会增大;如果Td过小,同样地也会发生以上状况。
  (5)总之PID 参数的整定必须考虑在不同时刻三个参数的作用以及彼此之间的作用关系。
  5.结语
  PID 控制应用领域极为广泛,可将其应用于电力、化工、轻工、冶金以及机械等工业过程控制中。通常情况下,最适合采用PID 控制技术的条件是:当我们对目标系统或被控对象的内部特征不完全清楚时,或者是系统的全部参数不能经过有效的测量手段来获取,同时必须依赖于经验和现场调试来确定系统控制器的结构参数情况下采用该技术。
技术资料出处:电子技术设计
该文章仅供学习参考使用,版权归作者所有。
因本网站内容较多,未能及时联系上的作者,请按本网站显示的方式与我们联系。
【】【】【】【】
上一篇:下一篇:
本文已有(0)篇评论
发表技术资料评论,请使用文明用语
字符数不能超过255
暂且没有评论!
12345678910
12345678910
12345678910
电子产品的质量是技术性和可靠性两方面的综合。电源作为一个电子系统中重要的部件,其可靠性决定了整个系统的可靠性,开关电源由于体积小,效率高而在各个领域得到广泛应用,如何提高它的可靠性是电力电子技术的一个重要方面。
[][][][][][][][][][]分数阶传递函数的SIMULINK实现--《控制工程》2013年06期
分数阶传递函数的SIMULINK实现
【摘要】:由于分数阶微积分具有"无限记忆"的特点,采用分数阶微分方程能够更全面准确的描述系统的动态特性。目前对于由分数阶传递函数所描述的分数阶系统的分析仿真主要是在MATLAB的工作空间中完成的,而不能如对整数阶系统的仿真分析可在SIMULINK环境下进行。基于分数阶微积分基本理论和SIMULINK模块封装技术,设计了一个可在SIMULINK环境下对分数阶传递函数进行显示、对分数阶系统进行分析的模块。该模块的调用与SIMULINK中整数阶传递函数模块的调用类似,具有便捷、直观的特点。通过工程实例验证,所设计的模块对分数阶系统的分析、设计可获得较好的效果。
【作者单位】:
【关键词】:
【基金】:
【分类号】:O172.2【正文快照】:
1引言目前大部分用微分方程描述的控制系统都是整数阶的。然而,文献[1]指出了实际系统通常都是分数阶的。采用分数阶微分方程能更好的揭示对象的特性和行为,之所以将系统考虑为整数阶是因为其复杂性和缺乏相应的数学工具。对于分数阶系统的仿真分析已有诸多学者开发了许多实用
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【参考文献】
中国期刊全文数据库
齐乃明;宋志国;秦昌茂;;[J];控制工程;2012年02期
【共引文献】
中国期刊全文数据库
苗涛;李俊;刘小宁;戴小祥;;[J];工矿自动化;2013年11期
中国博士学位论文全文数据库
葛卫清;[D];华南理工大学;2012年
中国硕士学位论文全文数据库
王敬;[D];燕山大学;2012年
【二级参考文献】
中国期刊全文数据库
曹军义;曹秉刚;;[J];控制理论与应用;2006年05期
薛定宇;赵春娜;;[J];控制理论与应用;2007年05期
曹军义;曹秉刚;;[J];西安交通大学学报;2007年07期
薛定宇;赵春娜;潘峰;;[J];系统仿真学报;2006年09期
李大字;刘展;靳其兵;曹柳林;;[J];系统仿真学报;2007年19期
【相似文献】
中国期刊全文数据库
陈丽,张远航;[J];邢台职业技术学院学报;2004年05期
刘丹;;[J];技术与市场;2011年08期
刘晓峰,宗蓓华;[J];交通标准化;2003年06期
毕玉春;[J];克山师专学报;2004年04期
刘晓峰,宗蓓华;[J];物流技术;2003年05期
黄有度,苏化明;[J];工程图学学报;2005年03期
宋建华,周以琳;[J];青岛科技大学学报(自然科学版);2004年05期
余福茂;王富忠;沈祖志;;[J];商业研究;2006年11期
范艳根,王玉萍,汤旭日;[J];黑龙江科技学院学报;2005年01期
;[J];;年期
中国重要会议论文全文数据库
徐鹏;王代华;;[A];中国仪器仪表学会第六届青年学术会议论文集[C];2004年
郑亚民;蒋保臣;;[A];'2003系统仿真技术及其应用学术交流会论文集[C];2003年
陈永强;陈璞;赵前程;袁明武;;[A];北京力学学会第12届学术年会论文摘要集[C];2006年
王雷;朱熀秋;陈艳;;[A];第二十六届中国控制会议论文集[C];2007年
杨锡运;刘玮;魏鹏;李金霞;;[A];中国自动化学会控制理论专业委员会B卷[C];2011年
中国博士学位论文全文数据库
袁侃;[D];南京航空航天大学;2010年
中国硕士学位论文全文数据库
王艳;[D];武汉理工大学;2009年
袁霄;[D];西南交通大学;2006年
毕喜飞;[D];重庆大学;2011年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备74号matlab 求解一个含参数方程代码我在用Matlab的时候遇上这么一个问题.现在简化一下,问题大概是这样的:有一个一个函数f(x;a) = x + a,这里,x是自变量,a是一个参数,现在给定一个参数a,要求f(x;a) = _百度作业帮
matlab 求解一个含参数方程代码我在用Matlab的时候遇上这么一个问题.现在简化一下,问题大概是这样的:有一个一个函数f(x;a) = x + a,这里,x是自变量,a是一个参数,现在给定一个参数a,要求f(x;a) = 0的值.我应该怎么编程实现啊?我不需要解析解,要数值解就行了.我看fsolve的说明里边,没有传参数的说明啊.比如说,有这么一段代码:a = 1;x0 = 1;x = fsolve(@f,x0); %现在这样子写不对啊,因为我要传参数a进去,现在没有传进去%在另一个文件里边:function F = f(x,a)F = x +我还有些问题:1那种形式不满足我的要求,因为我的那个待求解方程里边还有求和号什么的,一行写不了.我今天查帮助查到了你说的第4种格式,但是没有太看明白.x = fsolve(@f,x0,[],a);第三个参数[]是代表F = f(x,a)里边的第一个参数是自变量吗?比如,我的真正待求解的函数是这样子的:function F = subf(lambda,u,D,beta) %lambda是自变量,其余是参数所以,我是应该写成下边这个样子吗?EValues = fsolve(@subf,lambda0,[],u,D,bm);顺便问一下,这个函数有多个根,Matlab支持多个根同时求解吗?或者是我能一次性多给它几个初始试探点x0吗?
Kyoya59XP0
你的问题属于目标函数存在附加参数情况下怎样传递附加参数的问题,一般有以下几种方法:1、使用匿名函数,这是最简单的做法:&&&a&=&1;x0&=&1;&&&x&=&fsolve(@(x)x+a,&x0)Optimization&terminated:&first-order&optimality&is&less&than&options.TolFun.x&=&&&&-12、使用嵌套函数(Nested Functions).3、使用全局变量(不推荐).4、如果优化函数支持附加参数的传递,直接传递,例如,对于你现在的函数,可以直接写成x&=&fsolve(@f,&x0,[],a);对应的匿名函数形式为x&=&fsolve(@(x,a)x+a,&x0,[],a)&具体可搜索帮助关于“Passing Extra Parameters”的主题.
???????????????????????????????????????鷳?????????????л??
???????????????????????????????????????鷳?????????????л??
1??????????????????????????????????????????????????????????????????????????д??M?????????????????????????&2????????x&=&fsolve(@f,&x0,[],a);?????????[]???????F = f(x,a)???????????????????????????????λ????fsolve?????????????options???????&3????????????????????function&F&=&subf(lambda,&u,&D,&beta)&%lambda??????????????Dz??????????д??????EValues&=&fsolve(@subf,&lambda0,&[],&u,&D,&bm);4????????ж????fsolve???????????????????????????????????'?????x0????????arrayfun????????????磺x&=&arrayfun(@(x0)fsolve(@(x,a)x^2+3*x+a,&x0,[],2),[0&-5])??????????????????д???δ???????о?д???????????????EValues&=&arrayfun(@(L0)fsolve(@subf,&L0,&[],&u,&D,&bm),lambda0);
为您推荐:
其他类似问题
扫描下载二维码二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1662)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_084069',
blogTitle:'matlab中获得传递函数的参数',
blogAbstract:'在使用c2d命令进行离散化后的z域传函,它的表达式精度并不高,而且没法提取。
使用matlab中的get命令即可。
format long
n = 1;num=[6.7 600 6.7*100*pi*100*pi];den=[1 6 100*pi*100*pi];sys = tf(num,den);sysd=c2d(sys,0.0001,\'prewarp\',50*n);numd = get(sysd,\'num\');numd = cell2mat(numd)
dend = get(sysd,\'den\');dend = cell2mat(dend)
这样就可以得到数组的num和den。',
blogTag:'matlab',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:4,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'2',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}我觉的这个串联的只要求个总的就可以了。没必要每个去求他,没意义。
用freqz得到的是归一化频率,实际使用还跟采样频率有关。
UID796620&帖子148&精华0&积分13064&资产13064 信元&发贴收入865 信元&推广收入0 信元&附件收入0 信元&下载支出3661 信元&阅读权限70&在线时间131 小时&注册时间&最后登录&
w=0:0.0001:2*
h1=(1+exp(-j*w*1)).^2;
h2=(1+exp(-j*w*2)).^2;
h3=(1+exp(-j*w*4)).^3;
h4=h1.*h2;
h5=h3.*h4;
h=20*log10(abs(h5)./max(abs(h5)));
plot(w/pi,h);
I'mpossible~
UID379158&帖子71&精华0&积分1&资产1 信元&发贴收入380 信元&推广收入0 信元&附件收入0 信元&下载支出477 信元&阅读权限10&在线时间77 小时&注册时间&最后登录&
Thank you very much.
[通过 QQ、MSN 分享给朋友]}

我要回帖

更多关于 请教d1431的参数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信