下载此文档

材料0901班杨东麟0604090113(Page41).doc


文档分类:法律/法学 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MALAB科学计算》,王正林等著,电子工业出版社,2009年)“Gauss-Seidel迭代法线性方程组求解”(1)迭代解法的基本思想:根据给定方程组,设计出一个迭代公式,构造一数组的序列xi0,代入迭代公式,计算出xi1,在代入迭代公式,经过k次迭代运算后得到xik,若xik收敛于某一极限数组xi,则xi就是方程组的近似解。迭代过程本质上就是计算极限的过程,一般不能得到精确解。但迭代的优点是程序简单,适合大型方程组求解,然而,缺点是要判断迭代是否收敛和收敛速度的问题。(2)算法说明:Gauss-Seidel迭代法与简单迭代法类似,只是迭代公式有所改进。简单迭代法:;Gauss-Seidel迭代法:;设方程组Ax=b,其中A和b中的元素都为常数,且A为非奇异,则A分可写成:A=D-L-U。其中D上网意义同Jacobi迭代法,L为下三角矩阵,U为上三角矩阵,他的迭代公式为:在MATLAB中编程实现的Gauss-Seidel迭代法函数为:gauseidel。功能:用Gauss-Seidel迭代求线性方程组ax=b的解。调用格式:[x,n]=gauseidel(A,b,x0,eps,M).其中,A为线性方程组的系数矩阵;b为线性方程组中的常数向量;x0为迭代初始向量;eps为解的精度控制(此参数可选);M为迭代步数控制(此参数可选);x为线性方程组的解;n为求出所需精度的解实际迭代步数。(3)Gauss-Seidel迭代法的MATLAB程序代码如下:function[x,n]=gauseidel(A,b,x0,eps,M)%采用Gauss-Seidel迭代法求线性方程组Ax=b的解%线性方程组的系数矩阵:A%线性方程组的常数向量:b%迭代初始向量:x0%解的精度控制:eps%迭代步数控制:M%线性方程组的解:x%求出所需精度的解实际的迭代步数:nifnargin==3eps=-6;%eps表示迭代精度M=200;%M表示迭代步数的限制值elseifnargin==4M=200;elseifnargin<3errorreturn;endD=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);G=(D-L)\U;f=(D-L)\b;x=G*x0+f;n=1;%迭代过程whilenorm(x-x0)>epsx0=x;x=G*x0+f;n=n+1;%n为最终求出解时的迭代步数ifn>=Mdisp('Warning:迭代次数太多,可能不收敛!');endend(4)进行实例分析:>>A=[;;];>>b=[101]';>>x0=zeros(3,1);>>[x,n]=gauseidel(A,b,x0)x=%-=11%输出迭代次数n(5)运行图以即流程图:①运行图:②流程图:开始最大步数M为200读取数据否nargin==3?是eps=10--6,最大步数M=200n=1x=G*x0+f否x0=x;n=n+1norm(x-x0)>eps?是是n>=200?否输出结果Warning:迭代次数太多,可能不收敛结束②例题流程图:输入系数矩阵A输入常数向量b和初始向量x0[x,n]=gauseidel(A,b,x0)输出计算结果输出迭代次数一、分析电路:(RC充电电路)当t<0时,开关K位于“1”,电路以达到平衡Uc(0+)=Uc(0-)=-12V,iR2(0-)=3A;当t>0时,ic(0+)=-Uc(0+)/(R2*R3/(R2+R3)),达到稳态后,电容中将无电流icf=0A,电流源的全部电流将在两个电阻之间分配,保证端电压相同(也就是电容上的终电压)。即:UR3=Ucf=12V。由一阶响应电路可用三要素法得到电压公式:,时间常数。,且Req=12*6/18=4,=4(s)。同时,以相同的方法得到电流公式:,=4(s)。可以得到电阻R2的表达式:。二、源程序设计:>>r1=3;>>r2=12;>>r3=6;>>us=18;>>is=3;>>c=1;>>uc0=-12;%电容C的初始电压值>>ucf=12;%电容C的最终稳态电压值>>icf=0;%电容C的最终稳态电电流值>>T=r2*r3/(r2+r3);%电路时间常数>>t=[0::25];%时间变量>>uct=ucf+(uc0-ucf)*exp(-t./T);%计算电容C的响应电压>>ic0=-uc0/(r2*r3/(r2+r3));%电容C的初始电流值>>ict=icf+(ic0-icf)*exp(-t./T);%计算电容C的响应电流>

材料0901班杨东麟0604090113(Page41) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人rita291961
  • 文件大小225 KB
  • 时间2019-03-08
最近更新