国家电工电子教学基地电路理论系列课程组2005.3第一章矩阵运算的计算机方法及稀疏距阵现代电路分析国家电工电子教学基地电路理论系列课程组2005.3现代电路分析课程知识要点经典电路分析知识要点计算机辅助分析及工具应用矩阵方程建立初步矩阵方程建立的一般方法矩阵运算的计算机方法非线性电路分析初步非线性电路方程建立的一般方法有源滤波电路分析初步电路的参数分析国家电工电子教学基地电路理论系列课程组2005.3本章主要内容及要求了解LU分解法解线性方程组原理、应用及算法了解高斯消元法解线性方程组原理、应用及算法了解稀疏矩阵原理国家电工电子教学基地电路理论系列课程组2005.3第一节计算数学的几个基本概念现代电路分析第一章国家电工电子教学基地电路理论系列课程组2005.3利用计算机解决实际问题,通常要按以下步骤进行:(1)建立数学模型,即把实际问题抽象为一个数学问题,他可以是一个方程组、一个函数、一个微分方程等。(2)选择数值方法,要考虑所能达到的精度,计算量,方法对数据微小扰动的灵敏度。(3)编写程序,上机计算。计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.31、算法2、计算量例:计算x255按原型计算,计算量254次浮点运算改用x255=x*x2*x4*x8*x16*x32*x64*x128只需14次浮点运算。计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3例:设A,B,C,D分别为10*20,20*50,50*1,1*100的矩阵用不同算法求矩阵乘积,E=ABCD。根据矩阵乘除法的结合率,采用下列三种算法:(1)E=[(AB)C]D计算量是11500次浮点运算(2)E=A[B(CD)]计算量是125000次浮点运算(3)E=[A(BC)]D计算量是2200次浮点运算显然算法3效率最高。计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3例:Cramer法则求解n元线性方程组要计算n+1个行列式和n次除法计算一个n阶行列式的计算量约为(n+1)(n!)求解n阶线性方程组的总计算量是N=[(n+1)(n-1)(n!)+n]次浮点运算。当n=20时,计算量为9.707*1020如果在每秒1亿次运算速度的计算机上运行需要31.2万年,这对于高阶方程组是毫无实用价值计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.33、误差的基本概念:准确值和近似值之间的差异就是所谓的误差。误差产生主要是以下四个来源:(1)模型误差(2)观测误差(3)截断误差(4)舍入误差绝对误差、相对误差、有效数字计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.34、良态与病态问题:如果初始数据的微小变化导致计算结果的剧烈变化,这样的问题称之为病态问题。他是问题固有的一种属性。1150)(2xxxf6.53/100)(f28)33(f数据的变化小于0.34,而函数的变化22.4,因此在接近根处是一个病态问题。计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3上式根为1,2,3…20左边展开后,x的19次方的系数为-210若换为-210.000000119,其余各项不变再求解,则根20变为20.847根18和19则变为一对共轭复数19.502±1.940i显然这是一个病态问题。0)20x)...(3x)(2x)(1x(方程计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.36047x51x41x311213x41x31x21611x31x21x321321321线性方程组1xxx321根为78.020.025.033.01.125.033.050.08.133.050.0321321321xxxxxxxxx65.33x,25.38x,222.6x321解变为若把方程的系数取三位小数计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3010x110(x992)方程a2ac4bb2,12x第一种求根公式12a2ac4b)b(gnsinb1ax/cx,x2第二种求根公式1x,10x291根为0,10291xx1,10291xx假定计算机字长为8,解为计算机字长为8,解为计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3数值计算中值得注意的事项:(1)要避免两个相近的数相减。(2)防止大数吃掉小数。(3)防止接近零的数作除数。(4)减少运算次数。(5)防止舍入误差被放大。计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3习题1.1计算数学的几个基本概念国家电工电子教学基地电路理论系列课程组2005.3第二节高斯消元法解线性方程组矩阵运算的计算机方法国家电工电子教学基地电路理论系列课程组2005.3BAXn21n21nnn2n12n22211n1211bbbxxxaaaaaaaaa线性方程组的一般形式国家电工电子教学基地电路理论系列课程组2005.3AkAbxkdet]det[列而得到的矩阵的第代替用n×n矩阵的行列式:需要(n-1)×n!次复数乘法对11个节点的电路需要:32659200次乘法对21个节点的电路需要:4.6×1019次乘法用每秒亿次计算机:万年5.1100000000606024365!2019高斯法约为330次乘除运算高斯法约为2660次乘除运算线性方程组经典解法(克莱姆法则)国家电工电子教学基地电路理论系列课程组2005.3举例说明高斯消元法2875342622321321321xxxxxxxxx2875622342321321321xxxxxxxxx初等行变换1319170963423232321xxxxxxx1319170233423232321xxxxxxx13213023342332321xxxxxx回代132123xxx原理:通过初等变换化为三角矩阵2031002/310421321xxx国家电工电子教学基地电路理论系列课程组2005.3高斯消元算法说明a11x1+a12x2++a1nxn=a1,n+1a21x1+a22x2++a2nxn=a2,n+1an1x1+an2x2++annxn=an,n+1将第一个方程除以a11,并把它写成为)1(1,1)1(12)1(121nnnaxaxax=)1(12a1112aa…)1(11)1(jiijijaaaa1,........,2,1,........,3,2njni其中将上式乘以-ai1,加到下面的n-1个方程上,得到国家电工电子教学基地电路理论系列课程组2005.3)1(1,)1(2)1(2)1(1,2)1(12)1(12)1(1,1)1(12)1(121nnnnnnnnnnnnaxaxaaxaxaaxaxax方程组变为下一步我们排除第一行和第一列,对第二个方程至第n个方程施以同样的处理,其公式变为)1()1()(kkkkkjkkjaaa)()1()1()(kkjkikkijkijaaaak=1,2,…,ni=k+1,…,nj=k+1,…,n+1高斯消元算法说明国家电工电子教学基地电路理论系列课程组2005.3)1(1,1)1(13)1(132)1(121...nnnaxaxaxax)2(1,2)2(23)2(232...nnnaxaxax)3(1,3)3(33...nnnaxax)(1,nnnnax……最后所得的方程组系数矩阵为上三角矩阵回代过程:求出未知量xi)(1,nnnnaxnijjijniixaax11,1,,2,1nni高斯消元算法说明国家电工电子教学基地电路理论系列课程组2005.3选主元素举例755.125.1225.625.1000125.02121xxxx755.125.1250000100002121xxxx6249255.1249875000010000221xxx99989999.400010001.121xx6250001250005000010000221xxx5021xx3位有效数字注意:由于除以较小数,会得到较大的系数注意:这是一个较小的数与较大的数的差注意:近似后误差较大国家电工电子教学基地电路理论系列课程组2005.3改变主元素25.625.1000125.0755.125.122121xxxx25.625.1000125.062121xxxx249925.6249875.16221xxx注意:由于除以较大数,会得到较小的系数注意:这是一个较小的数与较小的数的差选主元素举例国家电工电子教学基地电路理论系列课程组2005.3取3位有效数字5121xx249925.6249875.16221xxx25.625.16221xxx注意:近似后有较小误差结论主元素(对角线上的元素)越大,精度越高。选主元素举例国家电工电子教学基地电路理论系列课程组2005.3选主元素改善线性方程组解的精度使计算能够进行交换系数矩阵行/列,使|aii|尽量大列主元素从当前列系数中选择一个绝对值最大的元素这种方法不需要改变变量的顺序,只交换行全主元素在整个剩余的矩阵中搜索绝对值最大的元素全主元素则需要改变变量的顺序,需要交换列选主元素国家电工电子教学基地电路理论系列课程组2005.3高斯法求逆矩阵(自证)100010001212222111211nnnnnnaaaaaaaaaIAnnnnnnaaaaaaaaaAI2122221112111100010001初等行变换BAXBAX1国家电工电子教学基地电路理论系列课程组2005.3习题与补充P1.2,1.5补充2:读懂给出的矩阵求逆程序,画出简单流程图补充1:读懂给出的高斯消元法程序,用程序计算求解xi国家电工电子教学基地电路理论系列课程组2005.3第三节LU分解法解线性方程组矩阵运算的计算机方法国家电工电子教学基地电路理论系列课程组2005.3算法说明设有方程组其系数矩阵A可以分解成下三角阵L与上三角阵U的乘积即其中nnnnlllllllllL213232312221111111,122311312nnnnuuuuuuUBAXLUABLUX国家电工电子教学基地电路理论系列课程组2005.3YUXBLY先解出Y再解出XLU分解法特点(1)LU分解法:1次LU分解,1次前代,1次回代。乘除次数与高斯消元法相当。BAXLUABLUXYUX(2)矩阵L和U的值只与A的值有关,与B无关,重复解B变化A不变的方程组时,只进行一次分解即可.算法说明国家电工电子教学基地电路理论系列课程组2005.3根据A求得L和U(LU分解)nnnnlllllllll213332312221111111,