北京科技大学应用计算方法作业与答案

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

一、第一次作业

(一)2-6计算下列向量的1-范数、∞-范数、2-范数。

(1)x=(12,-4,-6,2)T

>> A=[12,-4,-6,2] A =

12 -4 -6 2 >> norm(A,1) ans = ^

24

>> norm(A,inf) ans = 12

>> norm(A,2) ans =

(2) x=(1,3,-4)T

>> A=[1,3,-4] A =

1 3 -4 >> norm(A,1) ans = 8

>> norm(A,inf) ans = …

4

>> norm(A,2) ans =

(二)2-9 计算下列矩阵的行范数、列范数、谱范数、F 范数。

(1)⎪⎪⎪

⎫ ⎝⎛--=11211

1113A >> A=[3,-1,1;1,1,1;2,1,-1]

A = ~

3 -1 1 1 1 1

2 1 -1 >> norm(A,1) ans = 6

>> norm(A,inf) ans = …

5

>> norm(A,2) ans =

>> norm(A,'fro') ans = (2)R a a a A ∈⎪

⎪⎭

⎝⎛-=,00 .

>> A=[0,1;-1,0] A =

0 1 -1 0 >> norm(A,1) ans = 1

>> norm(A,inf) [

ans = 1

>> norm(A,2) ans = 1

>> norm(A,'fro') ans =

>

二、第二次作业

用牛顿迭代法求方程0133=--x x 在20=x 附近的根。要求:给成程序和运行结

果.

1、牛顿法的基本原理

在求解非线性方程0)(=x f 时,它的困难在于)(x f 是非线性函数,为克服这一困难,考虑它的线性展开。设当前点为k x ,在k x 处的Taylor 展开式为

))(()()('

k k k x x x f x f x f -+≈ )1.2(

令0)(=x f ,解其方程得到

),1,0(,)

()

('1 =-

=+k x f x f x x k k k k )2.2(

)2.2(式为牛顿迭代公式,用牛顿迭代公式求方程0)(=x f 根的方法称为牛顿迭代法。此即

牛顿迭代法的设计原理。

2、matlab 程序代码

function root=NewtonRoot(f,a,b,eps) if (nargin==3) eps=; end

f1=subs(sym(f),findsym(sym(f)),a); f2=subs(sym(f),findsym(sym(f)),b); if (f1==0) root=a; end

if (f2==0) roor=b; end

if (f1*f2>0)

disp('两端点函数值乘积大于0!') return ; else

tol=1;

fun=diff(sym(f));

fa=subs(sym(f),findsym(sym(f)),a); fb=subs(sym(f),findsym(sym(f)),b);

dfa=subs(sym(fun),findsym(sym(fun)),a); dfb=subs(sym(fun),findsym(sym(fun)),b); if (dfa>dfb)

root=a-fa/dfa; else

root=b-fb/dfb; end

while (tol>eps) r1=root;

fx=subs(sym(f),findsym(sym(f)),r1);

dfx=subs(sym(fun),findsym(sym(fun)),r1); root=r1-fx/dfx; tol=abs(root-r1); end end

3、运行结果截图

结论:通过计算可以看出0133

=--x x 在20=x 附近的根为.

三、第三次作业

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

⎪⎩

⎨⎧=+--=-+-=--2

.3525.82102.610321321321x x x x x x x x x )1.3( 1、高斯顺序消元法的设计原理

高斯顺序消元法的基本思想是将线性方程组

⎪⎪

⎩⎪⎪⎨

⎧=+++=+++=+++n

n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112

22221211

1212111 )2.3( 通过消元,逐步转化为等价的上(或下)三角形方程组,然后用回代法求解。

2、matlab 程序代码

function [x,XA]=GaussXQByOrder(A,b)

%高斯顺序消元法 N = size(A); n = N(1); for i=1:(n-1) for j=(i+1):n if (A(i,i)==0)

disp('对角元素为0!'); %防止对角元素为0 return ;

end

l = A(j,i); m = A(i,i);

A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m; %消元方程 b(j)=b(j)-l*b(i)/m; end end

x=SolveUpTriangle(A,b); %通用的求上三角系数矩阵线性方程组的函数 XA = A; %消元后的系数矩阵 function x=SolveUpTriangle(A,b) N=size(A); n=N(1);

for i=n:-1:1 if (i

s=A(i,(i+1):n)*x((i+1):n,1); else s=0; end

x(i,1)=(b(i)-s)/A(i,i); end

3、运行结果截图

结论:高斯顺序消元法求解出)1.3(的结果为2200.1,1800.1,8600.0321===x x x 。

四、第四次作业

编写Jacobi 迭代法和Seidel 迭代法求解方程组的程序,并计算出结果。

⎪⎩

⎨⎧=+--=-+-=--2

.3525.82102.610321321321x x x x x x x x x )1.4( 精度要求:3)

()1(10-∞

+<-k k x x

(一)用Jacobi 求解题设方程组

1、Jacobi 迭代原理 设有一个n 元线性方程组

相关文档
最新文档