导航菜单
首页 >  » 正文

高斯赛德尔法、牛顿 拉夫逊法及PQ分解法进行潮流计算的优缺点 PID算法中,积分时间、微分的时间和积分时间常数、微分时间常数之间是什么关系

高斯赛德尔法、牛顿 拉夫逊法及PQ分解法进行潮流计算的优缺点

一:牛顿潮流算法的特点
1)其优点是收敛速度快,若初值较好,算法将具有平方收敛特性,一般迭代4~5 次便可以
收敛到非常精确的解,而且其迭代次数与所计算网络的规模基本无关。
2)牛顿法也具有良好的收敛可靠性,对于对高斯-塞德尔法呈病态的系统,牛顿法均能可靠
地敛。
3)初值对牛顿法的收敛性影响很大。解决的办法可以先用高斯-塞德尔法迭代1~2 次,以
此迭代结果作为牛顿法的初值。也可以先用直流法潮流求解一次求得一个较好的角度初值,
然后转入牛顿法迭代。
PQ法特点:
(1)用解两个阶数几乎减半的方程组(n-1 阶和n-m-1 阶)代替牛顿法的解一个(2n-m-2)阶方程
组,显著地减少了内存需求量及计算量。
(2)牛顿法每次迭代都要重新形成雅可比矩阵并进行三角分解,而P-Q 分解法的系数矩阵 B’
和B’’是常数阵,因此只需形成一次并进行三角分解组成因子表,在迭代过程可以反复应用,
显著缩短了每次迭代所需的时间。
(3)雅可比矩阵J 不对称,而B’和B’’都是对称阵,为此只要形成并贮存因子表的上三角或下
三角部分,减少了三角分解的计算量并节约了内存。由于上述原因,P-Q 分解法所需的内存
量约为牛顿法的60%,而每次迭代所需时间约为牛顿法的1/5。
二:因为牛顿法每次迭代都要重新生成雅克比矩阵,而PQ法的迭代矩阵是常数阵(第一次形成的)。参数一变,用PQ法已做的工作相当于白做了,相当于重新算,次数必然增多。
有点啰嗦了。。。。

PID算法中,积分时间、微分的时间和积分时间常数、微分时间常数之间是什么关系

尽管不同类型的控制器,其结构、原理各不相同,但是基本控制规律只有三个:比例(P)控制、积分(I)控制和微分(D)控制。这几种控制规律可以单独使用,但是更多场合是组合使用。如比例(P)控制、比例-积分(PI)控制、比例-积分-微分(PID)控制等。 比例(P)控制   单独的比例控制也称“有差控制”,输出的变化与输入控制器的偏差成比例关系,偏差越大输出越大。实际应用中,比例度的大小应视具体情况而定,比例度太小,控制作用太弱,不利于系统克服扰动,余差太大,控制质量差,也没有什么控制作用;比例度太大,控制作用太强,容易导致系统的稳定性变差,引发振荡。   对于反应灵敏、放大能力强的被控对象,为提高系统的稳定性,应当使比例度稍小些;而对于反应迟钝,放大能力又较弱的被控对象,比例度可选大一些,以提高整个系统的灵敏度,也可以相应减小余差。   单纯的比例控制适用于扰动不大,滞后较小,负荷变化小,要求不高,允许有一定余差存在的场合。工业生产中比例控制规律使用较为普遍。 比例积分(PI)控制   比例控制规律是基本控制规律中最基本的、应用最普遍的一种,其最大优点就是控制及时、迅速。只要有偏差产生,控制器立即产生控制作用。但是,不能最终消除余差的缺点限制了它的单独使用。克服余差的办法是在比例控制的基础上加上积分控制作用。   积分控制器的输出与输入偏差对时间的积分成正比。这里的“积分”指的是“积累”的意思。积分控制器的输出不仅与输入偏差的大小有关,而且还与偏差存在的时间有关。只要偏差存在,输出就会不断累积(输出值越来越大或越来越小),一直到偏差为零,累积才会停止。所以,积分控制可以消除余差。积分控制规律又称无差控制规律。   积分时间的大小表征了积分控制作用的强弱。积分时间越小,控制作用越强;反之,控制作用越弱。   积分控制虽然能消除余差,但它存在着控制不及时的缺点。因为积分输出的累积是渐进的,其产生的控制作用总是落后于偏差的变化,不能及时有效地克服干扰的影响,难以使控制系统稳定下来。所以,实用中一般不单独使用积分控制,而是和比例控制作用结合起来,构成比例积分控制。这样取二者之长,互相弥补,既有比例控制作用的迅速及时,又有积分控制作用消除余差的能力。因此,比例积分控制可以实现较为理想的过程控制。   比例积分控制器是目前应用最为广泛的一种控制器,多用于工业生产中液位、压力、流量等控制系统。由于引入积分作用能消除余差,弥补了纯比例控制的缺陷,获得较好的控制质量。但是积分作用的引入,会使系统稳定性变差。对于有较大惯性滞后的控制系统,要尽量避免使用。 比例微分(PD)控制   比例积分控制对于时间滞后的被控对象使用不够理想。所谓“时间滞后”指的是:当被控对象受到扰动作用后,被控变量没有立即发生变化,而是有一个时间上的延迟,比如容量滞后,此时比例积分控制显得迟钝、不及时。为此,人们设想:能否根据偏差的变化趋势来做出相应的控制动作呢?犹如有经验的操作人员,即可根据偏差的大小来改变阀门的开度(比例作用),又可根据偏差变化的速度大小来预计将要出现的情况,提前进行过量控制,“防患于未然”。这就是具有“超前”控制作用的微分控制规律。微分控制器输出的大小取决于输入偏差变化的速度。   微分输出只与偏差的变化速度有关,而与偏差的大小以及偏差是否存在与否无关。如果偏差为一固定值,不管多大,只要不变化,则输出的变化一定为零,控制器没有任何控制作用。微分时间越大,微分输出维持的时间就越长,因此微分作用越强;反之则越弱。当微分时间为0时,就没有微分控制作用了。同理,微分时间的选取,也是需要根据实际情况来确定的。   微分控制作用的特点是:动作迅速,具有超前调节功能,可有效改善被控对象有较大时间滞后的控制品质;但是它不能消除余差,尤其是对于恒定偏差输入时,根本就没有控制作用。因此,不能单独使用微分控制规律。   比例和微分作用结合,比单纯的比例作用更快。尤其是对容量滞后大的对象,可以减小动偏差的幅度,节省控制时间,显著改善控制质量。 比例积分微分(PID)控制   最为理想的控制当属比例-积分-微分控制规律。它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。   当偏差阶跃出现时,微分立即大幅度动作,抑制偏差的这种跃变;比例也同时起消除偏差的作用,使偏差幅度减小,由于比例作用是持久和起主要作用的控制规律,因此可使系统比较稳定;而积分作用慢慢把余差克服掉。只要三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。 编辑本段PID控制器调试方法 比例系数的调节   比例系数P的调节范围一般是:0.1--100.   如果增益值取 0.1,PID 调节器输出变化为十分之一的偏差值。如果增益值取 100, PID 调节器输出变化为一百倍的偏差值。   可见该值越大,比例产生的增益作用越大。初调时,选小一些,然后慢慢调大,直到系统波动足够小时,再该调节积分或微分系数。过大的P值会导致系统不稳定,持续振荡;过小的P值又会使系统反应迟钝。合适的值应该使系统由足够的灵敏度但又不会反应过于灵敏,一定时间的迟缓要靠积分时间来调节。 积分系数的调节   积分时间常数的定义是,偏差引起输出增长的时间。积分时间设为 1秒,则输出变化 100%所需时间为 1 秒。初调时要把积分时间设置长些,然后慢慢调小直到系统稳定为止。 微分系数的调节   微分值是偏差值的变化率。例如,如果输入偏差值线性变化,则在调节器输出侧叠加一个恒定的调节量。大部分控制系统不需要调节微分时间。因为只有时间滞后的系统才需要附加这个参数。如果画蛇添足加上这个参数反而会使系统的控制受到影响。如果通过比例、积分参数的调节还是收不到理想的控制要求,就可以调节微分时间。初调时把这个系数设小,然后慢慢调大,直到系统稳定。   PID控制器的参数整定是控制系统设计的核心内容。它是根据被 控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是 依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应 曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需 要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡, 记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。   在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。   对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3   对于流量系统:P(%)40--100,I(分)0.1--1   对于压力系统:P(%)30--70,I(分)0.4--3   对于液位系统:P(%)20--80,I(分)1--5   参数整定找最佳,从小到大顺序查   先是比例后积分,最后再把微分加   曲线振荡很频繁,比例度盘要放大   曲线漂浮绕大湾,比例度盘往小扳   曲线偏离回复慢,积分时间往下降   曲线波动周期长,积分时间再加长   曲线振荡频率快,先把微分降下来   动差大来波动慢。微分时间应加长   理想曲线两个波,前高后低4比1   一看二调多分析,调节质量不会低

时间序列分析预测法优缺点

  时间序列分析预测法有两个特点:   ①时间序列分析预测法是根据市场过去的变化趋势预测未来的发展,它的前提是假定事物的过去会同样延续到未来。事物的现实是历史发展的结果,而事物的未来又是现实的延伸,事物的过去和未来是有联系的。市场预测的时间序列分析法,正是根据客观事物发展的这种连续规律性,运用过去的历史数据,通过统计分析,进一步推测市场未来的发展趋势。市场预测中,事物的过去会同样延续到未来,其意思是说,市场未来不会发生突然跳跃式变化,而是渐进变化的。   时间序列分析预测法的哲学依据,是唯物辩证法中的基本观点,即认为一切事物都是发展变化的,事物的发展变化在时间上具有连续性,市场现象也是这样。市场现象过去和现在的发展变化规律和发展水平,会影响到市场现象未来的发展变化规律和规模水平;市场现象未来的变化规律和水平,是市场现象过去和现在变化规律和发展水平的结果。   需要指出,由于事物的发展不仅有连续性的特点,而且又是复杂多样的。因此,在应用时间序列分析法进行市场预测时应注意市场现象未来发展变化规律和发展水平,不一定与其历史和现在的发展变化规律完全一致。随着市场现象的发展,它还会出现一些新的特点。因此,在时间序列分析预测中,决不能机械地按市场现象过去和现在的规律向外延伸。必须要研究分析市场现象变化的新特点,新表现,并且将这些新特点和新表现充分考虑在预测值内。这样才能对市场现象做出既延续其历史变化规律,又符合其现实表现的可靠的预测结果。   ②时间序列分析预测法突出了时间因素在预测中的作用,暂不考虑外界具体因素的影响。时间序列在时间序列分析预测法处于核心位置,没有时间序列,就没有这一方法的存在。虽然,预测对象的发展变化是受很多因素影响的。但是,运用时间序列分析进行量的预测,实际上将所有的影响因素归结到时间这一因素上,只承认所有影响因素的综合作用,并在未来对预测对象仍然起作用,并未去分析探讨预测对象和影响因素之间的因果关系。因此,为了求得能反映市场未来发展变化的精确预测值,在运用时间序列分析法进行预测时,必须将量的分析方法和质的分析方法结合起来,从质的方面充分研究各种因素与市场的关系,在充分分析研究影响市场变化的各种因素的基础上确定预测值。   需要指出的是,时间序列预测法因突出时间序列暂不考虑外界因素影响,因而存在着预测误差的缺陷,当遇到外界发生较大变化,往往会有较大偏差,时间序列预测法对于中短期预测的效果要比长期预测的效果好。因为客观事物,尤其是经济现象,在一个较长时间内发生外界因素变化的可能性加大,它们对市场经济现象必定要产生重大影响。如果出现这种情况,进行预测时,只考虑时间因素不考虑外界因素对预测对象的影响,其预测结果就会与实际状况严重不符。

C语言编程求素数的个数,计算1到1000000000(10亿)以内的素数个数,有多少个?附上程序

不知道有没有国际最优,但我这个算法很顶尖了:计算1亿以内的素数个数不到2秒钟!

1到10000000000(10亿)共有素数50847534个,计算时间大概20多秒!

程序如下:

#include<iostream> using namespace std; int main() {int CompositeNumFilterV3(int);  int m,c;  cin>>m;  c=CompositeNumFilterV3(m);  cout<<c<<endl; return 0; }

//求素数的程序 int CompositeNumFilterV3(int n) {  int i, j;  //素数数量统计  int count = 0;  // 分配素数标记空间,明白+1原因了吧,因为浪费了一个flag[0]  char* flag = (char*)malloc( n+1 );  // 干嘛用的,请仔细研究下文  int mpLen = 2*3*5*7*11*13;  char magicPattern[2*3*5*7*11*13]; // 奇怪的代码,why,思考无法代劳,想!   for (i=0; i<mpLen; i++)  {   magicPattern[i++] = 1;    magicPattern[i++] = 0;    magicPattern[i++] = 0;    magicPattern[i++] = 0;    magicPattern[i++] = 1;    magicPattern[i] = 0;  }  for (i=4; i<=mpLen; i+=5)    magicPattern[i] = 0;  for (i=6; i<=mpLen; i+=7)    magicPattern[i] = 0;  for (i=10; i<=mpLen; i+=11)    magicPattern[i] = 0;  for (i=12; i<=mpLen; i+=13)    magicPattern[i] = 0;

  // 新的初始化方法,将2,3,5,7,11,13的倍数全干掉   // 而且采用memcpy以mpLen长的magicPattern来批量处理   int remainder = n%mpLen;  char* p = flag+1;  char* pstop = p+n-remainder;  while (p < pstop)  {    memcpy(p, magicPattern, mpLen);    p += mpLen;  }   if (remainder > 0)   {     memcpy(p, magicPattern, remainder);   }   flag[2] = 1;   flag[3] = 1;   flag[5] = 1;   flag[7] = 1;   flag[11] = 1;   flag[13] = 1; 

  // 从17开始filter,因为2,3,5,7,11,13的倍数早被kill了    // 到n/13止的,哈哈,少了好多吧   int stop = n/13;   for (i=17; i <= stop; i++)   {     // i是合数,请歇着吧,因为您的工作早有您的质因子代劳了     if (0 == flag[i]) continue;      // 从i的17倍开始过滤    int step = i*2;    for (j=i*17; j <= n; j+=step)    {     flag[j] = 0;    }   }      // 统计素数个数   for (i=2; i<=n; i++)   {     if (flag[i]) count++;   }       // 因输出费时,且和算法核心相关不大,故略     // 释放内存,别忘了传说中的内存泄漏    free(flag);      return count; }

虚拟存储器采用的页面调度算法是先进先出算法 判断题

页式虚拟存储器的页面置换算法一般有:
最佳置换算法(OPT),先进先出置换算法(FIFO),最近最久未使用置换算法(LRU),Clock置换算法,最少使用置换算法(LFU),页面缓存算法(PBA)等。
先进先出(FIFO)置换算法是最直观的置换算法,由于它可能是性能最差的算法,故实际应用极少。(摘录自汤的教材)

相关推荐: