为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 电路方程的求解

电路方程的求解

2010-03-09 22页 ppt 311KB 16阅读

用户头像

is_981336

暂无简介

举报
电路方程的求解null第四章 电路方程的求解 第四章 电路方程的求解 求解方程组的根时,计算方法的优劣直接关 系到是否能求出所需的解,求解过程的快慢及解 的精度,也关系到能否用较少的内存完成较复杂 的计算。 常用的方法有: 直接解法—高斯消去法 迭代法 4.1 线性方程组的求解 一 高斯消去法 一 高斯消去法 基本思想: 对一个线性方程组作行变换(交换方程组 任意两行的顺序;方程组任意一行乘于一个非零 数;方程组任意一行减去另一行的倍数),得到 新的方程组与原方程组等价,因此同...
电路方程的求解
null第四章 电路方程的求解 第四章 电路方程的求解 求解方程组的根时,计算方法的优劣直接关 系到是否能求出所需的解,求解过程的快慢及解 的精度,也关系到能否用较少的内存完成较复杂 的计算。 常用的方法有: 直接解法—高斯消去法 迭代法 4.1 线性方程组的求解 一 高斯消去法 一 高斯消去法 基本思想: 对一个线性方程组作行变换(交换方程组 任意两行的顺序;方程组任意一行乘于一个非零 数;方程组任意一行减去另一行的倍数),得到 新的方程组与原方程组等价,因此同解。 高斯消去法就是反复运用上述运算,按主对 角线元素逐次消去未知量,将方程组化为上三角 方程组,这个过程称为“消元过程”;然后逐一求 解该上三角方程组,得到方程组的解,这个过程 称为“回代过程”。 null线性代数方程组表示为:A的增广矩阵为:消去过程消去过程第一步:首先用 除 中第一行所有元素,使之归一化,然后对下面(n–1)行中的第i行分别用 乘第一行再与第i行相加,以消去第一列中的其余元素,此时 变为: 第二步:设 ,则用 除 中第二行所有元素,使之归一化,然后对下面(n–2)行中的第i行分别用 乘第二行再与第i行相加,以消去第二列中的其余元素,此时 变为: 第二步:设 ,则用 除 中第二行所有元素,使之归一化,然后对下面(n–2)行中的第i行分别用 乘第二行再与第i行相加,以消去第二列中的其余元素,此时 变为: 如此,一直进行到第n步。第n步的结果为: 如此,一直进行到第n步。第n步的结果为: 第k步,是对矩阵 进行下列运算: 反向回代过程反向回代过程null对于n阶方程组,通过高斯前向消去把原方程化为单位上三角阵,所需的乘除法总次数约为 。回代过程中的乘除运算总次数约为 。 例1 用高斯消去法求解方程组例1 用高斯消去法求解方程组nullnull由 可得:于是有Matlab程序:Matlab程序:A=[10 -2 -1;-2 10 -1;-1 -2 5]; B=[3 15 10]'; AB=[A B];%形成增广矩阵 size_A=size(A); L=size_A(1);%矩阵行数 for ii=1:L AB(ii,:)=AB(ii,:)/AB(ii,ii); %归一化 for jj=(ii+1):L AB(jj,:)=AB(jj,:)-AB(ii,:)*AB(jj,ii); end; end for ii=L:-1:1 %反向迭代 sumX=0; for jj=(ii+1):L sumX=sumX+AB(ii,jj)*x(jj); end; x(ii)=AB(ii,L+1)-sumX; end;上述高斯消去法,在实际使用中存在两个问题: 上述高斯消去法,在实际使用中存在两个问题: 一、在上面的讨论中,事实上是假设 ,并以之为主元完成消去过程的。但是,如果出现 的情况,即使原方程存在唯一解,消去过程也会归于失败。显然,只要将方程的次序或变量的排列次序对调一下问题就能得到解决。 二、计算精度问题。即使主元不为0,但 ,用它作除数,会导致其他元素数量级严重增加,从而引起较大的舍入误差,由于这些误差的传播和积累,而使计算精度降低,甚至导致错误的结果。 解决方法:对调方程的次序或变量的排列解决方法:对调方程的次序或变量的排列方法: 列主元消去法 行主元消去法 全主元消去法 例2 用高斯消去法求解方程组例2 用高斯消去法求解方程组解1. 直接消去解得:解2. 选主元消去解得:例3 用高斯消去法求A的逆阵A-1例3 用高斯消去法求A的逆阵A-1解:二. 迭代法 二. 迭代法 基本思想: 对线性方程组 ,当A非奇异且 ,则可构造等 价的方程组 。任取 作为X的近似解,使用 迭代公式 。若有 ,则 为方 程组的解。 根据B,f 的不同构造方法,可分为简单迭代(雅可比迭代)、塞德尔迭代、逐次超松弛法等。注:并非所有线性方程组都可采用迭代法求解,只有迭代序列{x(k)}收敛才行。1. 简单迭代法1. 简单迭代法例:解:由以上三式可分别替换出则可得迭代公式:取初始向量X(0)=(0,0,0)T,可得迭代序列:取初始向量X(0)=(0,0,0)T,可得迭代序列:则可得解X=(0.9995, 1.9995, 2.9992)Tnulle=0.001; %精度 A=[0 0.2 0.1 0.3;0.2 0 0.1 1.5;0.2 0.4 0 2]; x0=[0 0 0 1]'; x=[A*x0;1]; while max(abs(x-x0))>e x0=x; x=[A*x0;1]; end; disp('x='); xMatlab程序2. 塞德尔迭代法2. 塞德尔迭代法例:解:采用迭代公式简单迭代程序图:程序流程图:
/
本文档为【电路方程的求解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索