请问用MATLAB编写潮流计算程序时,比如PQ法或者NR法,设置循环次数的意义在哪里呢?
发布网友
发布时间:2022-05-01 07:08
我来回答
共2个回答
热心网友
时间:2023-10-09 16:22
在潮流计算程序中设这迭代次数上限是为了应对潮流发散的情况。
比如一个正确的潮流计算 一般用牛拉法是 迭代6次,PQ分解法是 迭代12次。若潮流出现发散情况,迭代到20次,dP和dQ仍然不能收敛到你要的精度(比如0.0001),此时我们判定潮流发散,若不设一个迭代上限,可想而知,程序会一直迭代下去,此时数值已完全失去意义。
潮流发散意味着计算失败,这可能由两个原因导致:1数据存在问题,初值不在收敛域以内;2程序本身问题,考虑不全面,有bug。
同时也可能产生两个现象,一种是 潮流直接发散,若干次迭代后,数值已经很离谱,此时数值肯定没有意义。还有一种是,雅克比矩阵接近病态,收敛极其缓慢(也可能是初值选取不当),此时适当的放大收敛次数*,有一定可能得到收敛后的结果。
多编程序,多思考,希望对你有帮助!追问那请问您,设置迭代次数后得出的结果,可以作为正确结果来进行下一步的计算吗?还是当做错误的结果不能使用呢?谢谢您
追答当你的迭代次数达到设置次数上限,应该认为潮流已经发散,结果肯定是不对的。
热心网友
时间:2023-10-09 16:22
上述回答已经很全面了。