《应用计算方法教程》matlab作业一

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

作业一1-1实验目的:寻求高效算法

实验内容:设

1

x1

n

n n

⎛⎫

=+

⎝⎭

,给出两个算法,求

1023

x,写出MATLAB程序,并统计计算法

计算量。若要计算量不超过20flop,应如何设计算法?算法一

算法:

1

1

t

n

=+,依次计算2481024

,,,,

t t t t

⋅⋅⋅,最后用1024/

t t。

界面:

计算量:12flop

算法二

算法:

直接计算t的1023次方。

程序:

界面:

计算量:1024flop

若要计算量不超过20flop,采用第一种算法较合适。

作业二3-5 实验目的:应用不同迭代法求解代数方程

实验内容:分别采用二分法、Newton法、Newton下山法、割线法求解方程

432

6005502002010

x x x x

-+--=

在[0.1,1]中的根;精确到4

10-。

二分法

算法:

432()600550200201f x x x x x =-+--为连续函数,且由题意可知[0.1,1]为含根区间,

令a=0.1,b=1,取p=(a+b)/2。若f(p)=0则p 是方程f(x)=0的解;若f(a)f(p)<0则根在(a,p)内,取a 1=a,b 1=p ;否则根在区间(p,b)内,取a 1=p,b 1=b 。重复上述过程直到达到精度要求为止。 程序:

Newton 法 算法:

建立牛顿迭代格式

432132

()600550200201

()600*4*550*3*40020

n n n n n n n n n n n n f p p p p p p p p f p p p p +-+-

-=-=-'-+- 直到1||n n p p +

-

小于精度要求时迭代结束,将1n p +作为结果输出。

Newton 下山法 算法:

建立迭代格式

432132

()600550200201

()600*4*550*3*40020

n n n n n n n n n n n n f p p p p p p p p f p p p p λλ+-+--=-=-'-+- 其中λ是下山因子,在每步迭代中依次取1,1/2,1/4,…直到满足精度要求。

割线法 算法:

建立迭代格式

1

11()()()

n n n n n n n p p p p f p f p f p -+--=-

-

直到1||n n p p +-小于精度要求时迭代结束,将1n p +作为结果输出。

界面:

作业三 4-2 实验目的:熟悉LU 分解法求解方程。

实验内容:用MATLAB 编程做Doolittle 分解,求解方程组。

12345123451234512345

123451.3 2.4 3.4 4.22.4 1.4 3.7 6.3

22 3.6 6.8 5.52.543 6.6 3.6

1.5 5.3

2.8 6.2

x x x x x x x x x x x x x x x x x x x x x x x x x --+-=⎧⎪--++=⎪⎪

+-++=⎨⎪-+++=⎪⎪--++=⎩ 算法:

对 1.311 2.4 3.42.411 1.4 3.72

12 3.6 6.82.5143 6.61.511 5.3 2.8A ---⎛⎫

-- ⎪

⎪=- ⎪

- ⎪ ⎪--⎝

进行Doolittle 分解使得A LU =,则线性方程组

Ax b =的求解问题就转化为对三角形方程组Ly b

Ux y =⎧⎨=⎩

的求解。Doolittle 分解过程为: 1,1,2,,j ij u a j n ==⋅⋅⋅

1111/,2,3,,i i l a u i n ==⋅⋅⋅

1

1

,i ij ij ik kj k u a l u i j -==-≤∑

1

1

()/,j ij ij ik kj jj k l a l u u i j -==->∑

然后依次求解Ly b =和Ux y =:

11

1

1,2,3,,i i

i ij j j y b y b l y i n -==⎧⎪⎨

=-=⋅⋅⋅⎪⎩

1/()/,1,2,,1n n nn

n

i

i ij j ii j i x y u x y u x u i n n =+=⎧⎪⎨

=-=--⋅⋅⋅⎪⎩

界面:

作业四 编写高斯顺序消元法求解下面方程组的程序及计算结果。

12312312310 6.2+1028.52+5 3.2

x x x x x x x x x --=⎧⎪

--=⎨⎪--=⎩

算法:

对1,2,,1k n =⋅⋅⋅-

(k 1)(k 1)

(k)

(k 1)(k 1)

(k)(k 1)

(k 1)/,,1,2,,ik ik kk ij ij ik kj i i

ik k m a a a a m a i j k k n b b m b ------⎧=-⎪=+=++⋅⋅⋅⎨⎪=+⎩ 公式中(0)(0)

,,,1,2,,ij ij i

i a a b b i j n ===⋅⋅⋅。

利用回代法求解得方程组的解为

(1)(1)

(1)(1)(1)1/()/,1,2,,1n n n n nn n k k k k

k kj j kk j k x b a x b a x a k n n -----=+⎧=⎪⎨=-=--⋅⋅⋅⎪⎩

界面:

相关文档
最新文档