ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:246.50KB ,
资源ID:2341457      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2341457.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(材料0901班杨东麟0604090113(Page41).doc)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

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

1、、编程实现以下科学计算算法,并举一例应用之。 (参考书籍精通科学计算 ,王正林等著,电子工业出版社,年)“Gauss-Seidel 迭代法线性方程组求解”(1)迭代解法的基本思想:根据给定方程组,设计出一个迭代公式,构造一数组的序列 xi0,代入迭代公式,计算出 xi1,在代入迭代公式,经过 k 次迭代运算后得到 xik,若 xik 收敛于某一极限数组 xi,则 xi 就是方程组的近似解。迭代过程本质上就是计算极限的过程,一般不能得到精确解。但迭代的优点是程序简单,适合大型方程组求解,然而,缺点是要判断迭代是否收敛和收敛速度的问题。(2)算法说明:Gauss-Seidel 迭代法与简单迭代法类

2、似,只是迭代公式有所改进。简单迭代法: ;kjnijiki xABx,11Gauss-Seidel 迭代法: ;kjnijkjiijiki xA1设方程组 Axb,其中 A 和 b 中的元素都为常数,且 A 为非奇异,则 A 分可写成:A=D-L-U。其中 D 上网意义同 Jacobi 迭代法,L 为下三角矩阵,U 为上三角矩阵,他的迭代公式为:Uxxkk 111 )()(在 MATLAB 中编程实现的 Gauss-Seidel 迭代法函数为:gauseidel。功能:用 Gauss-Seidel 迭代求线性方程组 ax=b 的解。调用格式:x,n=gauseidel(A,b,x0,eps,M

3、).其中,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%求出所需精度的解实际的迭代步数:nif

4、nargin =3eps=1.0e-6; %eps表示迭代精度M=200; %M表示迭代步数的限制值elseif nargin =4M=200;elseif nargin epsx0=x;x=G*x0+f;n=n+1; %n为最终求出解时的迭代步数if n=Mdisp(Warning:迭代次数太多,可能不收敛!);endend(4)进行实例分析:A=1.4449 0.7948 0.8801;0.6946 1.9568 0.1730;0.6213 0.5226 1.9797; b=1 0 1; x0=zeros(3,1); x,n=gauseidel(A,b,x0)x = %输出结果0.5929

5、-0.24440.3836n = 11 %输出迭代次数 n(5)运行图以即流程图:运行图:流程图:x=G*x0+fnorm(x-x0)eps?n=200?Warning:迭代次数太多,可能不收敛x0=x;n=n+1最大步数M 为 200是开始读取数据nargin=3?输出结果n=1eps=10-6 , 最大步数 M=200否否是是否例题流程图:输入系数矩阵 A输入常数向量 b和初始向量 x0x,n=gauseidel(A,b,x0)输出计算结果输出迭代次数结束一、分析电路:(RC 充电电路)(1) 当 t0 时,i c(0 +)=-U c(0 +)/(R 2*R3/(R 2+R3) ),达到稳

6、态后,电容中将无电流icf=0A,电流源的全部电流将在两个电阻之间分配,保证端电压相同( 也就是电容上的终电压)。即:U R3= Ucf=12V。(3) 由一阶响应电路可用三要素法得到电压公式:,时间常数 。 tff euut )0()( RC,且 Req=12*6/18=4, =4(s)。同时,以tcfcfct)相同的方法得到电流公式:, =4(s)。tfccfcc eiiiti )0()( C(4) 可以得到电阻 R2 的表达式: 。322)(RtiItIcsR二、源程序设计: r1=3; r2=12; r3=6; us=18; is=3; c=1; uc0=-12; %电容 C 的初始电

7、压值 ucf=12; %电容 C 的最终稳态电压值 icf=0; %电容 C 的最终稳态电电流值 T=r2*r3/(r2+r3); %电路时间常数 t=0:0.01:25; %时间变量 uct=ucf+(uc0-ucf)*exp(-t./T); %计算电容 C 的响应电压 ic0=-uc0/(r2*r3/(r2+r3); %电容 C 的初始电流值 ict=icf+(ic0-icf)*exp(-t./T); %计算电容 C 的响应电流 ir20=3;%电阻 R2 的初始稳态电流 ir2t=(is-ict)*r3/(r2+r3); %计算电阻 R2 的响应电流 subplot(3,1,1); pl

8、ot(t,uct,-r); title(Uc(t); subplot(3,1,2); plot(t,ict,-g); title(Ic(t); subplot(3,1,3); plot(t,ir2t,-b); title(Ir2(t);%输出 Uc(t)和 IR2(t)的响应图像三、波形图:四、流程图:开始读取已知数据计算稳态电流电压数据运用响应电路三要素构造函数uct=ucf+(uc0-ucf)*exp(-t./T)、ict=icf+(ic0-icf)*exp(-t./T)和ir2t=(is-ict)*r3/(r2+r3)结束输出 Uc(t) 、 Ic(t)和 IR2(t)的响应图像1.分别

9、用五点和九点等距插值:Lagrange 插值多项式原理: 1n 次插值就是利用 n+1 个插值节点构造的 n 次的插值多项式,根据差值函数条件,可以得到: 011.)( axxaxynn设有 n+1 个互异节点 ,且 ,i 为整数,构造 Ln(x),使 Ln(xj)n10 )(ixfy=yj,j 为整数。定义,若 n 次多项式 lj(x)在 n+1 个节点 上满足条件 ,为 1 时,n.10 0)(jkxlj=k;为 0 时,j=k;则称这 n+1 个 n 次多项式 l0(x),l1(x),ln(x)为节点 x0,x1,xn 上的 n 次插值基函数。即为: ,k=(0,1,2,n);kiikx

10、xl0)()(故满足插值条件多项式为: ,称其为 Lagrange 插nn yxlyxllL)(.)(10值多项式。n-1 阶拉格朗日插值 matlab 源程序: 2function y=lagrange(x0,y0,x)% 计算n次lagrange 多项式插值% x0,y0输入插值节点向量% x以向量形式输入的插值点% y输出的插值点函数数值n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif j=kp=p*(z-x0(j)/(x0(k)-x0(j);endends=p*y0(k)+s;endy(i

11、)=s;end流程图: 3输入:z输入:x0, y0开始s=0k=1p=1j=1p=p*(z-x0(j)/(x0(k)-x0(j)(j=k)j=j+1j=n?s=p*y0(k)+sk=n?=n?输出:z, s结束k=k+1是是否否(1)五点等距插值的四阶 Lagrange 多项式源程序: 1 d=2*pi/4; x=0:d:2*pi; y=sin(x); x0=0:0.1:2*pi; y0=lagrange(x,y,x0); y1=sin(x0); plot(x0,y1,-r,x0,y0,-b,x,y,o)legend(sin(x),四阶插值多项式,lagrange 插值点)运行图: 2流程图

12、: 3输入:x,y=sin(x)得到插值点用 Lagrange 进行四阶五点差值计算输入:等距插值点步长 d=2*pi/4开始绘图比较 sin(x)与 Lagrange 插值图像比较两图误差结束(2)九点等距插值的四阶 Lagrange 多项式源程序: 1 d=2*pi/8; x=0:d:2*pi; y=sin(x); x0=0:0.1:2*pi; y0=lagrange(x,y,x0); y1=sin(x0); plot(x0,y1,-r,x0,y0,-b,x,y,+)legend(sin(x),八阶插值多项式,lagrange 插值点)运行图: 2流程图: 3结束绘图比较 sin(x)与

13、Lagrange 插值图像比较两图误差输入:等距插值点步长 d=2*pi/8输入:x,y=sin(x)得到插值点用 Lagrange 进行八阶九点差值计算开始2.四阶 Lagrange 插值多项式近似:(1)源程序:d=5/4;x=0:d:5;y=(1+x)./(1+2*x+3*x.2);x0=0:0.05:5;y0=lagrange(x,y,x0);y1=(1+x0)./(1+2*x0+3*x0.2);x1=0:0.2:5;y2=(1+x1)./(1+2*x1+3*x1.2);y3=lagrange(x,y,x1);e=y2-y3;plot(x,y,o,x0,y1,-r,x0,y0,-b,x

14、1,e,+)legend(插值点, 原函数图象,四阶 Lagrange 插值多项式,误差分布图)(2)插值点:x =0 1.2500 2.5000 3.7500 5.0000y =1.0000 0.2748 0.1414 0.0937 0.0698(3)Lagrange 差值多项式:Ln(x)=l0(x)*y0+ l1(x)*y1+ l2(x)*y2+ l3(x)*y3+ l4(x)*y4(4)间隔 0.2 计算的误差值:e =Columns 1 through 90 -0.0209 -0.0405 -0.0406 -0.0294 -0.0152 -0.0026 0.0063 0.0111Co

15、lumns 10 through 180.0122 0.0104 0.0067 0.0023 -0.0021 -0.0057 -0.0078 -0.0082 -0.0066Columns 19 through 26-0.0034 0.0012 0.0065 0.0115 0.0150 0.0155 0.0112 0(5)函数图象以及误差分布图:(6)流程图:开始输入:等距插值点步长 d=5/4输入:x,y=(1+x)./(1+2*x+3*x.2)确定插值点确定 Lagrange 多项式的 y(i)值,i=04 ,即得到多项式用 Lagrange 进行四阶 5 点差值计算绘图比较 Lagrange 插值多项式图像与原函数图 y2=(1+x1)./(1+2*x1+3*x1.2)以 0.2 为步长,计算每隔 0.2 的点的误差值 e=y2-y3绘出 e=y2-y3 的误差分布图结束

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报