电路计算机辅助设计基于C#的线性网络方程的LU分解法_第1页
电路计算机辅助设计基于C#的线性网络方程的LU分解法_第2页
电路计算机辅助设计基于C#的线性网络方程的LU分解法_第3页
电路计算机辅助设计基于C#的线性网络方程的LU分解法_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电路计算机辅助设计基于c#的线性网络方程的lu分解法基于c#的线性网络方程的lu分解法1 引言线性网络方程是模拟电路常需要处理的问题,也是各个线性系统需要面对的。线性网络方程组的解关系到工程的各个方面,因而研究它的解的算法很有必要。lu分解法是一种线性网络方程求解的一种算法,它的效率比较高,具有工程可实践性。2 算法框图lu的算法框图如图1所示。图1 lu分解法算法框图从框图可以看出,lu分解法的难点在于各阶顺序主子式的判定和进行lu分解求解方程。采用求解各阶数据主子式的行列式值,我采用了划三角矩阵的办法求解。其中最后做成的可视化界面的.exe 中,只校验了n阶行列式。图2为软件的主界面图。图

2、2 软件主界面图3 lu分解法算法描述lu分解法的分解通式为: lim=aim-k=1m-1likukmi=m,m+1,.n (3.1)umi=(ami-k=1m-1lmkuki)/lmm i=m+1,m2,.n (3.2)式(3.1)与(3.2)交替进行分解。正是由于该特性,所以可以将lu矩阵压缩在一个n*n的矩阵中,从而减少了存储空间开销。由ly=b,可以解除参数矩阵y的值。y1=b1l11, yi=(bi-j=1i-1lijyji=2,3,.n (3.3)由ux=y,可以得出最后的解矩阵x为:xn=yn, xi=yi-j=i+1nuijxji=n-1,n-2,.1 (3.4)4 仿真结果

3、4.1 lu分解正误仿真先进行系数矩阵是否为零判定,再给出解结果,测试数据如下:测试数据一:n=6;系数矩阵为:1 3 4 5 2 33 4 2 1 5 63 2 2 3 4 34 3 2 1 3 45 2 1 2 3 2 3 4 2 1 3 2向量吧为:3 2 4 2 3 2结果为x向量0.266187050359712 -0.683453237410071 0.978417266187049 0.0791366906474829 0.949640287769783 -0.474820143884892 此结果用matlab验证符合。与matlab效率比较以上述6阶结果为例进行效率比较,由于

4、c#各种控件响应耽误测试时间,所以只以裸算法进行效率比较。经过实践,由于阶数太低,行列式计算时间复杂度为n3(与高斯消元法相似),各阶行列式验证时间复杂度1+23+n3=n2(n+1)2/4,lu分解法的时间复杂度为n2加上回代的2n,所以总复杂度约为n4,所以20阶计算量大约为160000,c#测不出时间(都为0),所以无法给出效率比较。通过上网查阅,可以知道lu分解法有超过9种算法,本设计所用算法,为crout分解,其分解适用于手算,且没有处理其他情况,而matlab采用更为复杂的分解,适用于计算机处理,效率应该低于本例的crout分解,这里只能给出定性比较。5 算法时间空间复杂度分析由4

5、.2节分析lu分解法如果只验证n阶行列式,复杂度为n3+n2+2n,即o(n3),如果使用高斯消元法,则验证n阶行列式与消元过程类似,只需加上回代的n2,总体来说小于lu分解法+验证。所以考虑利用验证n阶行列式的算法选择,可能选择高斯消元法效率比lu分解法高,但单从解方程角度,lu分解法的效率小于高斯消元法。对于行列式的验证,化三角矩阵的算法比直接求解n!*(nlogn),行分解n!*(nlogn)方法,效率高的多。但如果不求值的验证方法,或许有比化三角求值方法效率更高的判定方法,这样lu分解法效率就可以体现。此外对于lu分解法,crout分解法的l矩阵对角元素不能为零,或是很小的数,否则计算会出现趋近于无穷大的值导致数据溢出出错。数学上,可以用选主元的方法避免,但工程上多是进行重新对电路建模来处理,暂时不知道如何来做可以比选主元效率更高,有待研究。至于空间复杂度,主要是两个动态申请的系数矩阵和lu矩阵,复杂度为o(n2)。6 心得与体会由于是第一次使用开发可视化软件,所以上手起来有一定难度,就选择了难度相对低的c#语言进行开发,花了一些时间学习,好在有一些matlab gui编辑经验,学起来容易一些。我的编程过程是,先对算法进行校验,再做到可视化中去,这样的编程流程对开发降低了很大难度。c#语言功能强大,且容易实现可视化,上手比c+容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论