数值计算中的基本原则_第1页
数值计算中的基本原则_第2页
数值计算中的基本原则_第3页
数值计算中的基本原则_第4页
数值计算中的基本原则_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

数值计算中的基本原则第一页,共十八页,2022年,8月28日数值计算中的基本原则(1)避免绝对值小的数做除数;(2)避免两相近数相减;(3)防止大数“吃”小数现象a=109,b=9,设想在8位浮点数系中相加a+b=1.0000000×109+0.000000009×109由于只保留8位有效数,数据09被舍去,实际加法操作a+b计算结果是将a的数据作为计算结果赋值给a+b.2/18第二页,共十八页,2022年,8月28日(4)尽量减少计算工作量(乘、除法次数)例计算

P(x)=1+2x+3x2+4x3+5x4的值

P(x)=1+x(2+x(3+x(4+5x)))一个应用:2进制数转换为10进制数

(11101110)2=27+26+25+0+23+22+2+0=((((((1·2+1)2+1)2+0)2+1)2+1)2+1)2+0=2383/18第三页,共十八页,2022年,8月28日求多项式值的秦九韶算法

输入

x;a0,a1,…,an

S←a0;u←1k

从1到n循环u←x×uS←S+ak×u输出数据S;结束输入x;a0,a1,…,an

S←ank

n

到1

循环S←ak-1+x×S输出数据S;结束秦九韶算法P(x)=a0+a1x+a2x2+······+anxn4/18第四页,共十八页,2022年,8月28日例1计算

(

n=0,1,···,20

)5/18第五页,共十八页,2022年,8月28日初值:I0=1–e

–1

n=20时,S20=-递推公式:In=1–nIn-1

(I0=1-e-1)S0=1-exp(-1);S(1)=1-S0;forn=2:20S(n)=1-n*S(n-1)end实际递推:Sn=1-nSn-1|e(S0)|=|S0–I0|<10-15有误!6/18第六页,共十八页,2022年,8月28日In=1-

nIn-1Sn-In=-

n(Sn-1-

In-1)e(Sn)=–ne(Sn-1)=······=(n!)(–1)ne(S0)新算法:In-1=(1-In)/nS(30)=1/31forn=30:-1:2S(n-1)=(1-S(n))/n;endS0=1-S(1),S(1:21)初值误差在算法执行过程中不断增大,这种算法称为数值不稳定算法。7/18Sn-In=–(Sn-1-

In-1)/n第七页,共十八页,2022年,8月28日

在算法执行过程中,舍入误差对计算结果影响不大的一类算法被称为数值稳定算法;否则称为不稳定算法.初始误差在算法执行过程中不断减小,这种算法称为数值稳定算法。|e(S20)|=|S20-I20|=|(1-S21/21)-(1-I21/21)|=|S21-I21|/21=·······=|S30-I30|/(21·22·23·····30)8/18第八页,共十八页,2022年,8月28日

r

d

例2.水中浮球问题

有一半径r=10cm的球体,密度

=0.638.球体浸入水中后,浮出水面的高度h是多少?

设球体浸入水中的深度

d.根据阿基米德定律,物体排开水的质量就是水对物体的浮力。整理得:d3–3rd2+4r3

=09/18第九页,共十八页,2022年,8月28日由

=0.638,r=10.代入,得d3–30d2+2552=0令

f(x)=x3–30x2+2552,函数图形如下所示求解方程f(x)=0,即是求函数f(x)的零点.f(x)的零点所在区间为[10,15]10/18第十页,共十八页,2022年,8月28日第一步:对根进行隔离,找出隔根区间,或在隔根区间内确定一个解的近似值x0;设f(x)=0的根为

x*,通过迭代计算,产生序列:

x0

x1

x2

···

xn·········用数值方法求非线性方程的根,分两步进行:第二步:逐步逼近,利用解的近似值x0,或隔根区间通过迭代算法得到更精确的近似解.只须11/18第十一页,共十八页,2022年,8月28日例3.分期付款购一套30万元的住房.方案是首付7万,以后每月付1500元,15年后付清.这种付款方式实际上是贷款购房,问这样贷款的利息是多少?分析:设代款总额为A,每月付款P,银行利率为x,贷款年限为y=m/12.则有A(1+x)m=P+P(1+x)+P(1+x)2+···+P(1+x)m-112/18第十二页,共十八页,2022年,8月28日令则

f(0.001)=2.4698e+005,f(0.002)=2.2655e+005

f(0.0015)=2.3647e+005,f(0.00175)=2.3144e+005x

=0.0018(年利息约0.0218)13/18第十三页,共十八页,2022年,8月28日已知方程

f(x)=0有一隔根区间[a,b],且f(x)满足f(a)·f(b)<0,则先将[a,b]等分为两个小区间,判断根属于哪个小区间,舍去无根区间保留有根区间[a1,b1];二分法迭代把区间[a1,b1]一分为二,进一步判断根属于哪个更小的区间[a2,b2],如此不断二分以缩小隔根区间长度.14/18第十四页,共十八页,2022年,8月28日[a,b]x0=0.5(a+b)[a1,b1]=[a,x0][a1,b1]=[x0,b]x1=0.5(a1+b1)f(a1)f(b1)<0已知f(x)=0在[a,b]内有一根,且f(a)f(b)<0(1)计算:x00.5(a+b),y0f(x0),y1f(a)

判断,若y0=0,则x0是根,否则转下一步;(2)判断,若y0·y1<0,则a1a,b1

x0

否则

a1x0,b1b,y1

y015/18第十五页,共十八页,2022年,8月28日二分法迭代将得到一系列隔根区间

定理2.2

设x*是f(x)=0在[a,b]内的唯一根,且

f(a)·f(b)<0,则二分法计算过程中,各隔根区间的中点数列性质:1.f(an)·f(bn)<0;2.bn–

an=(b–a)/2n满足:|xn–x*|≤(b–a)/2n+116/18第十六页,共十八页,2022年,8月28日例4

用二分法求方程

在区间[0,1]内的根,要求误差不超过2-5.x=-1:.5:2;y=exp(-x)-sin(pi*x/2);plot(x,y)grid图形显示,有一个点介于0和1之间.显然f(0)·f(1)<0,17/18解:令

,

绘图如下第十七页,共十八页,2022年,8月28日f=inline('exp(-x)-sin(pi*x./2)');a=0;b=1;er=b-a;ya=f(a);k=0

温馨提示

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

评论

0/150

提交评论