计算方法作业2.docx

上传人:b****6 文档编号:8765671 上传时间:2023-05-14 格式:DOCX 页数:11 大小:111.28KB
下载 相关 举报
计算方法作业2.docx_第1页
第1页 / 共11页
计算方法作业2.docx_第2页
第2页 / 共11页
计算方法作业2.docx_第3页
第3页 / 共11页
计算方法作业2.docx_第4页
第4页 / 共11页
计算方法作业2.docx_第5页
第5页 / 共11页
计算方法作业2.docx_第6页
第6页 / 共11页
计算方法作业2.docx_第7页
第7页 / 共11页
计算方法作业2.docx_第8页
第8页 / 共11页
计算方法作业2.docx_第9页
第9页 / 共11页
计算方法作业2.docx_第10页
第10页 / 共11页
计算方法作业2.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算方法作业2.docx

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

计算方法作业2.docx

计算方法作业2

《计算方法》上机指导书

实验1  MATLAB基本命令

1。

掌握MATLAB得程序设计

实验内容:

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

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

(2)编程求。

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

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

第10次反弹有多高?

2。

掌握MATLAB得绘图命令

实验内容:

对于自变量得取值属于[0,],在同一图形窗口画出如下图形。

(1);

(2);

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

1、研究人口数据得插值与预测

实验内容:

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

美国人口数据

194

70

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

3

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

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)用牛顿迭代法,取初值。

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

姓名:

陶成川学号:

  U201410820班级:

机械09   

一、问题

1、研究人口数据得插值与预测

实验内容:

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

美国人口数据

194

70

1980

1990

人口(千人)

132,165

151,326

179,323

203,302

226,542

249,633

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

2。

最小二乘法拟合经验公式

实验内容:

某类疾病发病率为‰与年龄段(每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如得经验关系,观测得到得数据表如下

2

4

6

7

0、898

2、38

3、07

1、84

2、02

1、94

2、22

2、77

4、02

10

11

12

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个点,分别用复化梯形公式与复化辛普森公式计算,并比较精度.

二、Matlab程序

1.%构造lagrange插值函数

functiony1=lagrange(x,y,x1)

m=length(x);

n=length(y);

p=length(x1);

if m~=nerror;

end

s=0;

fork=1:

 t=ones(1,p);

forj=1:

n

  ifj~=k,

  t=t、*(x1-x(j))/(x(k)-x(j));

 end

end

s=s+t*y(k);

end

y1=s;

%在界面中运行

x=[194019501960197019801990];

y=[132、165 151、326179、323 203、302226、542249、633];

y1930=lagrange(x,y,1930);

y1965=lagrange(x,y,1965);

y2010=lagrange(x,y,2010);

fprintf(’thepopulationin1930 is%f\n',y1930)

fprintf('thepopulationin 1965is%f\n',y1965)

fprintf(’thepopulationin2010 is %f\n',y2010)

2、

x=[1 2 34  5 67 8 910   11 121314 15 1617 18 19];

y=[0、8982、38 3、07 1、84  2、02  1、94 2、22 2、77  4、024、765、466、53  10、9  16、5 22、535、7  50、6  61、681、8];

yi=log(y);

a=polyfit(x,yi,1);

ai=exp(a

(2));

xm=1:

0、05:

19;

ym=ai*exp(a

(1)、*xm);

plot(x,y,’*k',xm,ym,’-y’)

fprintf(’a is%f\n’,ai)

fprintf(’bis%f\n’,a

(1))

3、

(1)

%构造复合梯形积分公式

functionI=tquad(x,y)

n=length(x)

m=length(y)

if n~=m

 error

end

h=(x(n)—x(1))/(n-1)

a=[12*ones(1,n-2) 1]

I=h/2*sum(a、*y)

End

%用梯形公式计算积分

formatlong

x=0:

0、1:

1;

y=x、/(4+x、^2);

I1=tquad(x,y)

%计算积分

formatlong

f=inline('x、/(4+x、^2)');

I=quadl(f,0,1)

%作误差与n得关系曲线

%构造函数

function I=tq(k)

x=0:

0、9/k:

1;

y=x、/(4+x、^2);

n=length(x);

m=length(y);

ifn~=m

 error;

end

h=(x(n)-x(1))/(n—1);

a=[12*ones(1,n-2) 1];

I=h/2*sum(a、*y);

end

%计算并作图

n=1:

100;

t1=ones(1,100);

fork=1:

100

 t1(k)=t1(k)*tq(k);

end

f=inline('x、/(4+x、^2)');

I=quadl(f,0,1);

t2=I—t1;

plot(n,t2,'*k’,n,t2,'-y')

(2)

%构造复合辛普森积分公式

functionI=simpsion(x,y)

m=length(x);

n=length(y);

ifm~=n

  error;

end

ifrem(n-1,2)~=0

I=tquad(x,y);

return;

end;

N=(n-1)/2;

h=(x(n)-x

(1))/N;

a=zeros(1,n);

for k=1:

N

 a(2*k—1)=a(2*k—1)+1;

a(2*k)=a(2*k)+4;

 a(2*k+1)=a(2*k+1)+1;

end

I=h/6*sum(a、*y);

End

%分别计算积分

formatlong

x=0:

0、1:

1;

y=x、/(4+x、^2);

isimosion=simpsion(x,y)

itquad=tquad(x,y)

三、结果

通过Matlab程序运行结果如下:

1、

the population in1930is169、649000

the populationin1965is191、767359

thepopulation in2010is171、351000

由于lagrange插值不能准确估计范围外得数值,因此1930年与2010年得误差较大.

2、

ais0、681361

bis 0、230620

3、

(1)I1=

0、111463380815167

I=

 0、1131

(2)

isimosion =

0、1194

itquad=

0、111463380815167

积分值为0、1131

显然simpsion公式精度更高

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2