数值计算大作业——刘

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程名称:数值分析

设计题目:数值计算大作业

学号:S315070064

姓名:刘峰

完成时间:2015年10月25日

题目一、非线性方程求根

1.题目

假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。

(1)如果令()N t 表示在t 时刻的人口数目,β表示固定的人口出生率,则人口数目满足微分方程

()

()dN t N t dt

β=,此方程的解为0()=t N t N e β; (2)如果允许移民移入且速率为恒定的v ,则微分方程变成()

()dN t N t v dt

β=+, 此方程的解为0()=+

(1)t t v

N t N e e βββ

-;

假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率β,精确到410-;且通过这个数值来预测第二年年末的人口数,假设移民速度v 保持不变。

435000

1564000=1000000(1)e e βββ

+

-

2.数学原理

采用牛顿迭代法,牛顿迭代法的数学原理是,对于方程0)(=x f ,如果)(x f 是线性函数,则它的求根是很容易的,牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程0)(=x f 逐步归结为某种线性方程来求解。

设已知方程0)(=x f 有近似根k x (假定0)(≠'x f ),将函数)(x f 在点k x

进行泰

勒展开,有

.

))(()()(⋅⋅⋅+-'+≈k k k x x x f x f x f

于是方程0)(=x f 可近似地表示为

))(()(=-'+k k x x x f x f

这是个线性方程,记其根为1k x +,则1k x +的计算公式为

)()

(1k k k k x f x f x x '-

==+,,,2,1,0⋅⋅⋅=k

这就是牛顿迭代法,简称牛顿法。

3.程序设计

作出函数的图像,大概估计出根的位置

fplot('1000*exp(x)+(435*x)*(exp(x)-1)-1564',[0 3]);grid

大概估计出初始值x=0.5

function [p1,err,k,y]=newton(f,df,p0,delta,max1)

% f是非线性系数

% df是f的微商

% p0是初始值

% dalta是给定允许误差

% max1是迭代的最大次数

% p1是牛顿法求得的方程近似解

% err是p0误差估计

% k是迭代次数

p0,feval('f',p0)

for k=1:max1

p1=p0-feval('f',p0)/feval('df',p0);

err=abs(p1-p0);

p0=p1;

p1,err,k,y=feval('f',p1) if(err

function y=f(x)

y=1000000*exp(x)+435000*(exp(x)-1)/x-1564000; function y=df(x)

y=1000000*exp(x)+435000*(exp(x)/x-(exp(x)-1)/x^2);

4.结果分析与讨论

在MATLAB 中的command window 输入 newton('f','df',1.2,10^(-4),10) 运行后得出结果 p0 =0.5000

p1 =0.1679 err =0.3321 k =1 y =9.2415e+004 p1 =0.1031 err =0.0648 k =2 y =2.7701e+003 p1 =0.1010 err =0.0021 k =3 y =2.6953 p1 =0.1010 err =2.0129e-006 k =4 y = 2.5576e-006 ans =0.1010

运算后的结果为1010.0=β,通过这个数值来预测第二年年末的人口数,

0.10100.1010435000f(t)=1000000(1)0.1010

t t

e e +

-

t=2时候对于f ()2187945.865x =

实践表明,当初始值难以确定时,迭代法就不一定收敛了,因此要根据问题实际背景或者二分法先得一个较好的初始值,然后再进行迭代;再者迭代函数选择不合适的话,采用不动点迭代法也有可能出现不收敛的情况;因此我采用的是

牛顿法。

题目二:线性方程组求解

1.题目

假设一个物体可以位于1n +个等距点01,,,n x x x L 的任意位置,当物体在i x 位置时,它只能等可能的移动到1i x -或者+1i x ,而不能直接移动到其他任何位置,概率i p 表示物体从位置i x 开始在到达右端点n x 之前到达左端点0x 的概率,显然

01,0n p p ==,且有-1+111

=

+1,2,,122

i i i p p p i n =-L , 既有下面方程组:

12111002

11

1122

211102

21101221012

n p p p -⎡

⎤-

⎢⎥⎢⎥⎢⎥--⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--

⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦--⎢⎥⎢⎥⎢⎥-⎢⎥⎣

M O

O O M 取10n =对方程组进行求解(迭代法或者直接法)。

2.数学原理

在解微分方程的边值问题、热传导方程以及船体数学放样中建立的三次样条函数等工程技术问题时,经常遇到下面形式的线性方程组:

⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---n n n n n b a c b a b a c b 1112211O O O ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-n x x x x n 121M =⎥⎥

⎥⎥⎥⎥⎦⎤⎢

⎢⎢

⎢⎢⎢⎣⎡-n n d d d d 121M 方程简记A x d =,该线性方程称为三对角线方程组,其系数矩阵A 满足条件

110,,,0,2,,10

i i i i i n n b c b a c a c i n b c >>≥+≠=->>L

所以为弱对角阵可以采用追赶法进行计算,利用三对角矩阵的LU 分解建立计算量更少的线性方程组求解公式。将系数矩阵A 进行克劳特分解,即A 分解为下

相关文档
最新文档