您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > XUEHAO-XINGMING-迭代法在电路求解中的应用
迭代法在求解非线性电路中的应用迭代法在求解非线性电路中的应用姓名:王**学号:5************班级:F******摘要:本论文主要讨论数值分析法中的“牛顿法”和“共轭梯度法”在非线性电阻电路的应用。首先回顾数值分析法和非线性电阻电路,然后简要引入两种数值分析方法并给出牛顿法的C++程序实现,最后,讨论这两种方法在非线性电路中的应用。关键词:数值分析法,牛顿法,共轭梯度法,非线性电阻电路正文:教材《电路基础》第四章4.6“数值分析法”这一小节中,有简略提到用牛顿法和和共轭梯度法来解决非线性电阻电路方程。书中有论述牛顿法在电路中的应用,却没有对共轭梯度法的应用做分析。所以我课下查阅了一些资料,大致总结了这两种方法在电路求解上的应用。第一部分:牛顿法及其应用【算法思路】:如下图(1)图(1)牛顿法求解图示选择一个接近函数f(x)零点的x0,计算相应的f(x0)和切线斜率f'(x0)(这里f'表示函数f的导数)。然后我们计算穿过点(x0,f(x0))并且斜率为f'(x0)的直线和x轴的交点的x坐标,也就是求如下方程的解:()()()(1.1)我们将新求得的点的x坐标命名为x1,这样,按照迭代产生一个级数xn。迭代法在求解非线性电路中的应用【迭代公式】:迭代公式如下:()()(1.2)所以,对于任意非线性电路方程f(x),诸如f(x)=cos(x)−x3,f(x)=e2x+x2等等,都可以用以上公式来计算得到一定精确度的x。【精度判定】:教材泰勒展开来证明了,如果f'是连续的,并且待求的零点x是孤立的,那么在零点x周围存在一个区域,只要初始值x0位于这个邻近区域内,那么牛顿法必定收敛。并且,如果f'(x)不为0,那么牛顿法将具有平方收敛的性能.。所以,粗略的说,这意味着每迭代一次,运用牛顿法得到的结果的有效数字将增加一倍。如下面的例1:求方程f(x)=cos3的根。两边求导,得f'(x)=s()由于-1≤cos(x)≤1(对于所有x),则-1≤x3≤1,即-1≤x≤1,可知方程的根位于0和1之间。我们从x0=0.5开始。()()3=1.112141637097()()=0.9096726937363=0.867263818209=0.865477135298=0.865474033111=0.865474033102我们可清晰地看出,每迭代一次,运用牛顿法得到的结果的有效数字将增加一倍。所以,对于精度要求精确到10-n的数据,我们最多进行lg2n次运算就可以达到满足要求。【程序实现】:由于牛顿法迭代公式中涉及到了非线性函数的求导,并需要进行多次迭代,计算较为复杂,所以,我们可以设计一个计算机程序来让计算机处理这一计算过程。代码(c++)如下:#includestdlib.h#includemath.h#includestdio.h#definexx0.5#definef(x)(cos(x)-(x)*(x)*(x))#defineff(x)(-sin(x)-3*(x)*(x))#defineprecision0.000000000001#definespsystem(PAUSE)迭代法在求解非线性电路中的应用intmain(){doublex,tem;intn=0;tem=xx;x=tem-f(tem)/ff(tem);while(fabs(x-tem)precision){tem=x;x=tem-f(tem)/ff(tem);n++;}printf(Solution:x=%.12f\n,x);printf(Time:n=%d\n,n);sp;return0;}对于不同的函数f(x)和不同的精度要求,只需要修改define中的f(x),F(x),x0,precision即可。【举例应用】:用牛顿法求解图1.3所示电路的电压u2=x和电流i2,其中iS=0.673A,二极管的电压—电流关系为:i2=(cos3)A。(其中i2为二极管所在支路电流,u2为二极管)图1.3例4.6.1图解:由电路方程可得KCL方程is=i1+i2将i1=10.4x和i2=cos3代入并整理,得到以x为变量的非线性电路方程f(x)=cos3对f(u2)求导,得𝑑(𝑢)𝑑𝑢=s()迭代法在求解非线性电路中的应用因此,牛顿法的迭代公式为cos3s式中,上标表示迭代次数。取初始值x=0时的迭代结果为u2=x=0.86547403310161442000V解毕。程序运行结果如下:图(2)牛顿法求解程序运行图第二部分:共轭梯度法算法简【算法思路】:把工个性与最速下降法(本文不讨论)结合。利用已知处的梯度构造一组共轭方向,并沿着这组方向来搜索,以至求出目标函数的极小点。【迭代公式与精度判定】:设我们要求解下列线性系统:Ax=b,其中n*n矩阵A是对称的(也即,AT=A)、正定的(即,xTAx0对于所有非0向量x属于Rn),并且是实系数的。将系统的唯一解记作x*。算法如下:初始值:x0=0;k=0;r0=b;p1=r0repeatkuntilrkissufficientlysmall;最终结果为xk迭代法在求解非线性电路中的应用结语对于非线性电路方程的求解还可以利用诸如最速下降法等多种数值分析方法,这里就不一一讨论了。无论是牛顿法还是共轭梯度法等其他数值分析法,其精髓都是用迭代的思想来不断逼近最优值。每每一门学科,学到一定程度都会发现它与其他学科甚至是与世界与人的固有思维模式的紧密联系。这次写论文的整个过程,让我让我对基电有了系统的了解,也让我积累提炼了很多相关的理念和思维模式,但我觉得更重要还是这个过程对我学习能力的提升和锻炼。学习的过程不仅仅是一个知识积累的过程,更是一个思维方法养成和学习能力提升的过程。就像我很喜欢的一句话中写道的一样:“知识的积累只是最表面的一层,最强大的人是具有最强大学习能力的人。”我会一直带着这样的准则去真正地学习。致谢感谢乔老师这学期的悉心教导!参考文献1.陈洪亮张峰田社平电路基础【M】.北京:高等教育出版社,2008。2.牛顿法——Wikipedia3.共轭梯度法——Wikipedia4.共轭梯度法——baidu
本文标题:XUEHAO-XINGMING-迭代法在电路求解中的应用
链接地址:https://www.777doc.com/doc-2868253 .html