实验报告.docx

上传人:b****5 文档编号:27852577 上传时间:2023-07-05 格式:DOCX 页数:34 大小:126.01KB
下载 相关 举报
实验报告.docx_第1页
第1页 / 共34页
实验报告.docx_第2页
第2页 / 共34页
实验报告.docx_第3页
第3页 / 共34页
实验报告.docx_第4页
第4页 / 共34页
实验报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

实验报告.docx

《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(34页珍藏版)》请在冰豆网上搜索。

实验报告.docx

实验报告

玉溪师范学院2012-2013学年上学期

《数学实验》期末考试

 

数学实验报告

 

姓名:

学号:

班级:

2010级一班

专业:

数学与应用数学

完成日期:

评语:

 

成绩评定:

 

本次报告,主要是针对本学期学习的数学实验,对其内容中的大部分做出归纳和总结。

主要分为一下五大部分:

一.数值计算

实验目的:

1.学会用MATLAB软件计算极限.最值.定积分

2、了解圆周率的计算历程、及计算方法的发展历程。

3、了解求解数值微分的基本方法。

4、了解误差分析和步长优化及会使用差分法求解数值微分

实验内容:

1.用数值方法计算:

(1)数列和函数的极限。

(2)函数的导数与最值。

(3)计算定积分

(4)数项级数的和。

2、使用不同的方法计算圆周率的近似值。

3,、中心差分公式、前向微分和后向微分公式。

操作过程及运行结果:

例:

1.1求数列极限

程序如下:

symsnan

an=limit((n^3+5^n)^(1/n),n,inf)

结果

an=5

求函数极限:

程序如下:

symsxbn

bn=limit((1-cos(x))/(x*sin(x)),x,0)

结果:

bn=1/2

定积分的定义积分

计算

f=inline('(1+x^2)^(-1)');a=0;b=1;

n=40;

x=[];

x

(1)=a;

fork=1:

8

x(n+1)=b;s=0;

fori=1:

n-1

x(i+1)=(i+rand())*(b-a)/n;

end

fori=i:

n

dxi=x(i+1)-x(i);

c=x(i)+dxi*rand();

s=s+f(c)*dxi;

end

fprintf('n=%g,s=%g\n',n,s);

n=n*3;

end

结果:

n=40,s=0.0132958

n=120,s=0.00575502

n=360,s=0.00155638

n=1080,s=0.000866947

n=3240,s=0.000286178

n=9720,s=0.000102157

n=29160,s=2.11564e-005

n=87480,s=9.02859e-006

、辛普森公式

计算

程序如下

formatlong

n=100;a=0;b=1;sum=0;

symsxfx

fx=4/(1+x^2);

fori=1:

n

xj=a+(i-1)*(b-a)/n;

xi=a+i*(b-a)/n;

xk=(xi+xj)/2;

fxj=subs(fx,'x',xj);

fxi=subs(fx,'x',xi);

fxk=subs(fx,'x',xk);

sum=sum+(fxj+4*fxk+fxi)*(b-a)/(6*n);

end

结果sum=

3.141592653589792

integrate=

pi

integrate=

3.141592653589793

相对误差是:

2.827160e-016

1、求下列级数的和。

程序

n=1:

10;

>>s1=sum(1./(n.*(n+1).*(n+2)));

>>formatlong

>>s1

结果

s1=0.246212121212121

2.圆周率的计算:

1用刘徽的迭代公式,计算圆内接正24576边形的面积,从而得出著名数学家祖冲之得到的圆周率。

代码:

>>x=1;

>>fori=1:

12

x=sqrt(2-sqrt(4-x^2));

S=(3*2^i*x);

end

>>vpa(S,9)%计算精度为9位有效数字

结果:

ans=

3.14159265

利用莱布尼兹级数计算

的近似值。

2.编写以下M脚本文件:

x=0;

fori=1:

1000

x=x+(-1)^(i+1)/(2*i-1);

pai(i)=4*x;

error(i)=(pi-pai(i));

end

fori=1:

10

D(i,:

)=[100*i,pai(100*i),error(100*i)];

end

vpa(D,20)

保存文件名为Ex1703.m,在命令窗口输入:

>>Ex1703

结果:

ans=

[100.,3.1315929035585536866,.99997500312394294042e-2]

[200.,3.1365926848388161474,.49999687509769685789e-2]

[300.,3.1382593295155913893,.33333240742017267166e-2]

[400.,3.1390926574960142936,.24999960937788223703e-2]

[500.,3.1395926555897850641,.19999980000080519460e-2]

[600.,3.1399259880805310274,.16666655092620885625e-2]

[700.,3.1401640828900845293,.14285706997085867442e-2]

[800.,3.1403426540780756682,.12499995117174478310e-2]

[900.,3.1404815428216181772,.11111107681749388121e-2]

1000.,3.1405926538397941350,.99999974999898100236e-3]

实验结论:

通过课本的学习和老师的教导,对于在学习的matlab软件,我们学习了此课程,对于数值计算部分我掌握了

1学会用MATLAB软件计算极限.最值.定积分

2、了解圆周率的计算历程、及计算方法的发展历程。

3、了解求解数值微分的基本方法。

4、了解误差分析和步长优化及会使用差分法求解数值微分

这一些基本知识,虽然在报告中没有把所学的所有内容都进行详尽的阐述和表达,但是基本包括了所学的主要知识点。

对matlab学习的重点内容,我也还有很多的不足,希望老师同学的批评指出。

二.符号运算

实验目的:

1.学会用MATLAB软件计算矩阵、极限.倒数.定积分.。

实验内容:

1用符号演算法计算:

(0)计算矩阵的值。

(1)数列和函数的极限

(2)函数的求解。

(3)不定积分、定积分。

(4)符号常微分方程求解。

(5)项级数的和

操作过程及运行结果:

例1.1求矩阵

的行列式值、逆和特征根。

>>symsa11a12a21a22;A=[a11,a12;a21,a22]

A=

[a11,a12]

[a21,a22]

>>DA=det(A),IA=inv(A),EA=eig(A)

运行结果:

DA=

 a11*a22-a12*a21

IA=

[a22/(a11*a22-a12*a21),-a12/(a11*a22-a12*a21)]

[-a21/(a11*a22-a12*a21),a11/(a11*a22-a12*a21)]

EA=

[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]

[1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]

1.2求极限例:

>>symsx;

>>f=(sqrt(x)-sqrt

(2)-sqrt(x-2))/sqrt(x*x-4);

>>limit(f,x,2,'right')

结果:

ans=

-1/2

1.3求积分:

求积分

注意:

内积分上下限都是函数。

程序:

ymsxyz

>>F2=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y,sqrt(x),x^2),x,1,2)

>>VF2=vpa(F2)

结果:

F2=

1610027357/6563700-6072064/348075*2^(1/2)+14912/4641*2^(1/4)+64/225*2^(3/4)

VF2=

224.9215357333114315979071003

1.4函数求解:

①求

的解。

程序:

learall,symsx;s=solve('(x+2)^x=2','x')

结果:

=

.69829942170241042826920133106081

1.5符号常微分方程求解:

的解。

程序:

>>S=dsolve('Dx=y,Dy=-x');

>>disp([blanks(12),'x',blanks(21),'y']),disp([S.x,S.y])

结果

 x    y

[cos(t)*C1+sin(t)*C2,-sin(t)*C1+cos(t)*C2]

1.6求下列级数的和。

n=1:

10;

>>s1=sum(1./(n.*(n+1).*(n+2)));

>>formatlong

>>s1

符号求解为:

symsn;

s2=symsum(1/(n*(n+1)*(n+2)),

实验结论:

对于符号运算的学习

三.图形的可视化

实验目的:

1.学会用MATLAB软件作平面.空间的函数图像。

2.运用图形加深对导数.定积分的理解。

3.加深函数项级数的认识并了解相关函数逼近知识。

实验内容:

1.平面.空间函数在各种坐标系下的图形。

2.用数值计算和图形集合研究:

(1)函数的导数。

(2)积分随分割细度的变化趋势

(3)级数的敛散性

操作过程及运行结果:

1.1①在0≤x≤2π区间内,绘制曲线

   y=2e-0.5xcos(4πx)

程序如下:

x=0:

pi/100:

2*pi;

y=2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y)

2、例:

绘制正弦曲线和余弦曲线。

程序:

>>x=[0:

0.5:

360]*pi/180;

>>plot(x,sin(x),x,cos(x));

>>legend('sin','con')

图形:

三维曲线图:

例:

t=0:

pi/100:

20*pi;

x=sin(t);

y=cos(t);

z=t.*sin(t).*cos(t);

plot3(x,y,z);

title('Linein3-DSpace');

xlabel('X');ylabel('Y');zlabel('Z');

gridon;

 

 

1.2三维曲面

一个二元函数

如何用三维图形的方式表现出这个曲面?

程序:

>>[x,y]=meshgrid(-3:

1/8:

3)

>>z=3.*(1-x).^2.*exp(-(x.^2)./2-(y+1).^2)-10.*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3.*exp(-(x+1).^2-y.^2)

>>Surf(x,y,z)

>>Shadinginterp

>>Colorbar

图形:

2.用数值计算和图形集合研究

数列和函数的极限:

数列

的极限是多少?

程序:

>>n=1:

3000;

>>xn=0.99.^n;

>>plot(n,xn,'.')

结果

设f(x)=sinx,求

并从图形上观察虽分割增多积分和随着分割点的增多积分和越来越接近定积分值。

程序:

djfdf.m文件

functions=djfdf(f,a,b,n)

close;h=(b-a)/n;s=0;

fori=1:

n

x

(1)=a+(i-1)*h;x

(2)=a+i*h;

x(3)=x

(2);x(4)=x

(1);

t=(x(3)+x(4))/2;y(3)=feval(f,t);

y(4)=y(3);s=s+h*y(3);

fill(x,y,[001]*i/n);

holdon;

end

fplot(f,[a,b]);

holdoff

下面是yest.m文件调用djfdf.m动态演示定积分定义

clearall;

clc

forn=1:

20;

f=inline('sin(x)');djfdf(f,0,4,n)

pause(3)

end

结果:

ans=

3.6372

ans=

1.9652

ans=

1.7828

ans=

1.7246

ans=

1.6986

ans=

1.6847

ans=

1.6764

图形由粗到细,越来越接近定积分的值。

5积分的应用

所围成的面积

y=linspace(-1,1,60);

x1=5*y.^2;

x2=1+y.^2;

plot(y,x1,y,x2)

求两个函数的交点

symsy

f=(1+y^2)-5*y^2;

A=int(f,y,-0.5,0.5)

结果:

值:

x=5/4

5/4

y=1/2

-1/2

面积A=2/3

写出

的幂级数的展开式,利用图形考察幂级数部分和逼近函数的情况。

程序:

-2*pi:

0.001:

2*pi;

y0=sin(x0);

symsx;

y=sin(x);

plot(x0,y0,'r--'),axis([-2*pi,2*pi,-1.5,1.5]);

holdon

p=taylor(y,x,2),y1=subs(p,x,x0);

line(x0,y1)

结果:

四.数据分析

实验目的:

1.分析的基本方法

2.进行回归分析的基本命令。

实验内容:

1,一元、多元线性回归,和非线性回归。

2,人口模型的建立。

操作过程及运行结果:

例:

1.一元模型:

为了研究理学院11级学生的总阅览量y与学生人数x的关系得到如下数据:

人数(个)

5101520253035404550

借阅量(本)

2074124212263344396475523575

试研究这些数据的规律性。

解:

输入数据观测散点图。

x=[5101520253035404550]';

y=[2074124212263344396476523575]';

plot(y,x,'*')

输出结果如图:

从散点图中可以看出这些点都在一条直线的附近,这说明y和x具有线性关系。

(2)回归分析及检验,输入

x=[ones(10,1)x];

y=[2074124212263344396475523575]',

[b,bint,r,rint,stats]=regress(y,x)

输出:

b=

-50.2667

12.7588

 

bint=

-67.3869-33.1464

12.207013.3106

 

r=

6.4727

-3.3212

-17.1152

7.0909

-5.7030

11.5030

-0.2909

14.9152

-0.8788

-12.6727

 

rint=

-14.455927.4014

-26.366019.7236

-36.32762.0973

-17.163031.3448

-30.585619.1795

-11.806434.8125

-25.318624.7368

-5.643335.4736

-24.092022.3345

-31.32315.9776

 

stats=

1.0e+003*

0.00102.84260.00000.1181

即得到

的置信区是[-67.3869-33.1464],

的置信区是[12.207013.3106];

r

=0.001,F=2.8426,p=0.0000,p<0.05,因此,所得到的回归方程为

y=-50.2667+12.7588x

(3)残差分析,做残差图。

输入

rcoplot(r,rint)

输出如图:

从残差图可以看出,10个数据的残差离零点均较近,并且残差的置信区间均包含零点,这说明回归方程

y=-50.2667+12.7588x

能较好的复合原始数据。

长期以来,人类的繁殖一直在自发地进行着。

只是由于人口数量的迅速膨胀和环境质量的急剧恶化,人们才猛然醒悟,开始研究人类和自然的关系,人口数量的变化规律以及如何进行人口控制等问题。

下表为1952——2011年玉溪的人口统计数据

year

population

1952

954195

1953

969660

1954

991764

1955

997093

1956

1007561

1957

1029359

1958

1000414

1959

958819

1960

954662

1961

953851

1962

983392

1963

1026390

1964

1064236

1965

1098512

1966

1134774

1967

1161507

1968

1202463

1969

1257214

1970

1293588

1971

1334446

1972

1369557

1973

1409070

1974

1443864

1975

1477971

1976

1508149

1977

1540713

1978

1566088

1979

1583247

1980

1596637

1981

1615150

1982

1633216

1983

1649863

1984

1670021

1985

1688972

1986

1710639

1987

1739082

1988

1766938

1989

1794562

1990

1818113

1991

1838075

1992

1852439

1993

1868817

1994

1885623

1995

1905794

1996

1925441

1997

1946349

1998

1971207

1999

1991346

2000

2016780

2001

2034065

2002

2053957

2003

2068473

2004

2085532

2005

2091649

2006

2106416

2007

2122522

2008

2129754

2009

2143592

2010

2145508

2011

2134735

分析数据中隐藏的规律往往可以帮助我们发现建立模型的线索。

因此,利用表中的数据计算1952——2002年玉60年的人口5年增长率

>>x=[95419510293599833921161507136********713];%1952—1977年的人口统计数

>>fori=1:

5

r(i)=(x(i+1)-x(i))/x(i);%1952—1977年的五年增长率

end

>>r

r=

Columns1through3

0.0788-0.04470.1811

Columns4through5

1.17910.1250

玉溪人口的五年增长率为一个常数

以1952为0时刻,此时玉溪人口数位x0,时刻t为x(t),x(t)视为可连续函数

>>x=dsolve('Dx=r*x','x(0)=x0','t')

x=x0*exp(r*t)

根据表中数据,在MATLAB中计算出玉溪人口1952—2011每五年的增长率,程序如下:

>>x=[9541951029359983392116150713695571540713...

1633216173********439194634920539572122522];%1952—2011年的人口统计数

>>fori=1:

11

r(i)=(x(i+1)-x(i))/x(i);%1952——2011年的每五年增长率

end

>>r

r=

Columns1through3

0.0788-0.04470.1811

Columns4through6

0.17910.12500.0600

Columns7through9

0.06480.06520.0507

Columns10through11

0.05530.0334

3)阻滞增长模型(Logistic模型)

通过前面的分析可以看到,人口增长率是准确刻画人口增长规律的一个关键因素,并且“人口增长率为一个常数”的假设不合理,那么应当怎样刻画人口增长的变化规律呢?

为此,作出1952——2011年玉溪五年人口增长率随人口变化而变化的图像。

>>x=[9541951029359983392116150713695571540713...

1633216173********439194634920539572122522];%1952—2011年的人口统计数

>>fori=1:

11

r(i)=(x(i+1)-x(i))/x(i);%1952——2011年的每五年增长率

end

>>x1=x(2:

12);

>>plot(x1,r)

从图中可以清楚的看出,随着人口模型的增加,人口的五年增长率在总体上呈现出线性下降的趋势,

那么,为什么会出现这种趋势呢?

根据草履虫的实验我们可以知道:

一个国家或一个地区内的人口增长率实际上是该地区人口规模的减函数r(x),并且r(xm)=0.

综合以上分析,提出如下新的假设:

玉溪人口的五年增长率r(x)是人口数的线性函数,即

r(x)=r(1-x/xm),

其中r为固定增长率,xm为自然资源和环境条件所能容纳的最大

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

当前位置:首页 > 成人教育 > 成考

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

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