计算方法作业31.docx

上传人:b****5 文档编号:7543381 上传时间:2023-01-24 格式:DOCX 页数:15 大小:82.91KB
下载 相关 举报
计算方法作业31.docx_第1页
第1页 / 共15页
计算方法作业31.docx_第2页
第2页 / 共15页
计算方法作业31.docx_第3页
第3页 / 共15页
计算方法作业31.docx_第4页
第4页 / 共15页
计算方法作业31.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

计算方法作业31.docx

《计算方法作业31.docx》由会员分享,可在线阅读,更多相关《计算方法作业31.docx(15页珍藏版)》请在冰豆网上搜索。

计算方法作业31.docx

计算方法作业31

 

《计算方法》上机指导书

 

实验1MATLAB基本命令

1.掌握MATLAB的程序设计

实验内容:

对以下问题,编写M文件。

(1)生成一个5×5矩阵,编程求其最大值及其所处的位置。

(2)编程求

(3)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。

求它在第10次落地时,共经过多少米?

第10次反弹有多高?

2.掌握MATLAB的绘图命令

实验内容:

对于自变量

的取值属于[0,

],在同一图形窗口画出如下图形。

(1)

(2)

 

实验2插值方法与数值积分

1.研究人口数据的插值与预测

实验内容:

下表给出了从1940年到1990年的美国人口,用插值方法推测1930年、1965年、2010年人口的近似值。

美国人口数据

1940

1950

1960

1970

1980

1990

人口(千人)

132,165

151,326

179,323

203,302

226,542

249,633

1930年美国的人口大约是123,203千人,你认为你得到的1965年和2010年的人口数字精确度如何?

2.最小二乘法拟合经验公式

实验内容:

某类疾病发病率为

‰和年龄段

(每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如

的经验关系,观测得到的数据表如下

1

2

3

4

5

6

7

8

9

0.898

2.38

3.07

1.84

2.02

1.94

2.22

2.77

4.02

10

11

12

13

14

15

16

17

18

19

4.76

5.46

6.53

10.9

16.5

22.5

35.7

50.6

61.6

81.8

(1)用最小二乘法确定模型

中的参数

(2)利用MATLAB画出离散数据及拟合函数

图形。

3.复化求积公式

实验内容:

对于定积分

(1)分别取利用复化梯形公式计算,并与真值比较。

再画出计算误差与

之间的曲线。

(2)取[0,1]上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。

 

实验3非线性方程与线性方程组

1.矩阵的范数与条件数

实验内容:

已知矩阵

2.研究高斯消去法的数值稳定性

实验内容:

设方程组

,其中

(1)

(2)

分别对以上两个方程组

(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的?

(2)用列主元消去法求得L和U及解向量

(3)用不选主元的高斯消去法求得L和U及解向量

(4)观察小主元并分析对计算结果的影响。

3.求解非线性方程,比较不同方法的计算量

实验内容:

比较求

的根到三位小数所需的计算量:

(1)在区间[0,1]内用二分法;

(2)用迭代法

,初值

(3)用牛顿迭代法,取初值

 

《计算方法》上机实验报告

姓名:

陶成川学号:

U*********班级:

机械09

一、问题

1.矩阵的范数与条件数

实验内容:

已知矩阵

2.研究高斯消去法的数值稳定性

实验内容:

设方程组

,其中

(1)

(2)

分别对以上两个方程组

(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的?

(2)用列主元消去法求得L和U及解向量

(3)用不选主元的高斯消去法求得L和U及解向量

(4)观察小主元并分析对计算结果的影响。

3.求解非线性方程,比较不同方法的计算量

实验内容:

比较求

的根到三位小数所需的计算量:

(1)在区间[0,1]内用二分法;

(2)用迭代法

,初值

(3)用牛顿迭代法,取初值

 

二、Matlab程序

1.

A=[1111;

-11-11;

-1-111;

1-1-11];

a1=norm(A,1);

a2=norm(A);

a3=norm(A,inf);

B=inv(A);

a4=norm(B);

a5=a2*a4;

fprintf('||A||1is%d\n',a1);

fprintf('||A||2is%f\n',a2);

fprintf('||A||is%d\n',a3);

fprintf('cond2(A)is%f\n',a5);

2.

(1)A=[3e-1659.4131;

5.291-6.130-12;

11.2952;

1211];

aA=cond(A,2)

B=[10-701;

-32.09999999999999962;

5-15-1;

0102];

aB=cond(B,2)

(2)%构造函数

functionx=gauss1(A,b)

A=[A';b]',

n=length(b);

fork=1:

n-1

s=A(k,k);

p=k;

fori=k+1:

n

ifabs(s)

s=A(i,k);

p=i;

end

end

p

s

ifp~=k

forj=k:

n+1

t=A(k,j);

A(k,j)=A(p,j);

A(p,j)=t;

end

end

A

fori=k+1:

n

m=A(i,k)/A(k,k);

fprintf('m%d%d=%f\n',i,k,m);

forj=k:

n+1

A(i,j)=A(i,j)-m*A(i,j);

end

end

fprintf('A%d=\n',k+1);

A

end

A(n,n+1)=A(n,n+1)/A(n,n);

fori=n-1:

-1:

1

s=0;

forj=j+1:

n

s=s+A(i,j)*A(j,n+1);

end

A(i,n+1)=(A(i,n+1)-s)/A(i,i);

end

A(:

n+1)

%运算方程

A=[3e-1659.4131;

5.291-6.130-12;

11.2952;

1211];

B=[10-701;

-32.09999999999999962;

5-15-1;

0102];

b1=[59.1746.7812];

b2=[85.9000000000000151];

x1=gauss1(A,b1)

x2=gauss1(B,b2)

3.

(1)%构造二分法函数

function[xstar,k]=fen(fun,a,b,ep)

ifnargin<4,ep=1e-5;end

fa=feval(fun,a);

fb=feval(fun,b);

iffa*fb>0

xstar=[fa,fb];

k=0;return;

end

k=1;

whileabs(b-a)/2>ep

x=(a+b)/2;

fx=feval(fun,x);

iffx*fa<0

b=x;fb=fx;

else

a=x;fa=fx;

end

k=k+1;

end

xstar=(a+b)/2;

end

%计算

fun=inline('exp(x)+10*x-2');

[xstar,k]=fen(fun,0,1,0.001)

(2)%构造迭代函数

function[xstar,k]=diedai(fun,x0,ep,nmax)

ifnargin<4nmax=500;end

ifnargin<3ep=1e-5;end

x=x0;x0=x+2*ep;k=0;

whileabs(x0-x)>ep&k

x0=x;

x=feval(fun,x0)

k=k+1;

end

xstar=x;

ifk==nmaxwarning('get');

end

End

%计算

fun2=inline('0.1*(2-exp(x))');

[xstar2,k2]=diedai(fun2,0)

(3)%构造牛顿迭代函数

function[xstar,k]=newtown(fname,dfname,x0,ep,nmax)

ifnargin<5nmax=500;end

ifnargin<4ep=1e-5;end

x=x0;x0=x+2*ep;k=0;

whileabs(x0-x)>ep&&k

k=k+1;x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);

end

xstar=x;

ifk==nmaxwarning('enough');end

End

%运算

fname=inline('exp(x)+10x-2');

dfname=inline('exp(x)+10');

[xstar,k]=newtown(fname,dfname,1)

 

三.实验结果

1.

||A||1is4

||A||2is2.000000

||A||is4

cond2(A)is1.000000

2.

(1)aA=

68.7205

aB=

8.9939

根据条件数,A为病态,B为病态

(2)

A=

0.000059.41003.00001.000059.1700

5.2910-6.1300-1.00002.000046.7800

11.20009.00005.00002.00001.0000

1.00002.00001.00001.00002.0000

p=

3

s=

11.2000

m21=0.472411

m31=0.000000

m41=0.089286

A2=

A=

11.20009.00005.00002.00001.0000

2.7915-3.2341-0.52761.055224.6806

0.000059.41003.00001.000059.1700

0.91071.82140.91070.91071.8214

p=

3

s=

59.4100

m32=-0.054437

m42=0.030659

A3=

A=

11.20009.00005.00002.00001.0000

2.791559.41003.00001.000059.1700

0.0000-3.4102-0.55631.112626.0242

0.91071.76560.88280.88281.7656

p=

4

s=

0.8828

m43=-0.630170

A4=

A=

11.20009.00005.00002.00001.0000

2.791559.41003.00001.000059.1700

0.0000-3.41020.88280.88281.7656

0.91071.7656-0.90691.813842.4238

ans=

0.0893

0.9960

2.0000

23.3900

A=

10.0000-7.000001.00008.0000

-3.00002.10006.00002.00005.9000

5.0000-1.00005.0000-1.00005.0000

01.000002.00001.0000

p=

1

s=

10

m21=-0.300000

m31=0.500000

m41=0.000000

A2=

A=

10.0000-7.000001.00008.0000

-3.90002.73007.80002.60007.6700

2.5000-0.50002.5000-0.50002.5000

01.000002.00001.0000

p=

2

s=

2.7300

m32=-0.183150

m42=0.366300

A3=

A=

10.0000-7.000001.00008.0000

-3.90002.73007.80002.60007.6700

2.5000-0.59162.9579-0.59162.9579

00.633701.26740.6337

p=

3

s=

2.9579

m43=0.000000

A4=

A=

10.0000-7.000001.00008.0000

-3.90002.73007.80002.60007.6700

2.5000-0.59162.9579-0.59162.9579

00.633701.26740.6337

ans=

0.8000

2.8095

1.0000

0.5000

3.

(1)

xstar=

0.0908

k=

10

(2)

x=

0.1000

x=

0.0895

x=

0.0906

x=

0.0905

x=

0.0905

x=

0.0905

xstar2=

0.0905

k2=

6

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1