Matlab《数学实验》上机指导书.docx
《Matlab《数学实验》上机指导书.docx》由会员分享,可在线阅读,更多相关《Matlab《数学实验》上机指导书.docx(16页珍藏版)》请在冰豆网上搜索。
![Matlab《数学实验》上机指导书.docx](https://file1.bdocx.com/fileroot1/2023-4/21/7e405927-31d6-47f2-8587-b0f24921317a/7e405927-31d6-47f2-8587-b0f24921317a1.gif)
Matlab《数学实验》上机指导书
Matlab《数学实验》上机指导书
实验题目
实验一解方程和方程组与极限运算
一、实验目的
(1)掌握Mathematica软件的计算器功能;
(2)学会使用Mathematica软件求各种类型方程(或方程组)的数值解和符号解;
(3)通过本实验深刻理解极限概念;
(4)学习并掌握利用Mathematica求极限的基本方法。
二、预备知识
(1)方程(或方程组)代数解法的基本理论,函数的零点,方程(或方程组)的解及数值解;
(2)本实验所用命令:
●用“==”连接两个代数表达式构成一个方程
●求方程(组)的代数解:
Solve[方程或方程组,变量或变量组]
●求方程(组)的数值解:
NSolve[方程或方程组,变量或变量组]
●从初始值开始搜索方程或方程组的解:
FindRoot[方程或方程组,变量或变量组初值]
●在界定范围内搜索方程或方程组的解:
FindRoot[方程或方程组,变量或变量组范围]
●绘图命令:
Plot[表达式,{变量,上限,下限},可选项]
●微分方程求解命令:
DSolve[微分方程,y[x],x]
(3)极限、左极限、右极限的概念;
(4)本实验所用Mathematica有关命令:
●Limit[expr,x->x0]求表达式在
时的极限
●Limit[expr,x->x0,Direction->1]求左极限
●Limit[expr,x->x0,Direction->-1]求右极限
三、实验内容与要求
(1)计算
;
。
(2)对于方程
,试用Solve和Nsolve分别对它进行求解,并比较得到的结果,体会代数解即精确解与数值解的差别。
(3)先观察函数
的图形,然后选择一个初始点求解,并且根据图形确定在某个区间中搜索它的零点。
(4)求方程组
的解,然后代入系数和常数项的一组初值,并求解。
(5)求微分方程
的通解。
(6)用Mathematica软件计算下列极限:
(1)
;
(2)
;(3)
;
(4)
;(5)
;(6)
;
(7)
;(8)
;(9)
;
(10)
;(11)
;(12)
。
四、实验操作
(1)学会N[]和expr//N的使用方法。
In[1]:
=546*54564
In[2]:
=N[%]
In[3]:
=46545^45676//N
(2)学会Solve[]和NSolve[]的使用方法。
In[5]:
=p=x^4-2x^3-4x^2+3;Solve[p==0,x]
In[6]:
=NSolve[p==0,x]
(3)学会Clear[]和FindRoot[]的使用方法
In[7]:
=Clear[x]
In[8]:
=f=Sin[x]-Cos[x]
In[9]:
=Plot[f,{x,-4,4}]
In[10]:
=FindRoot[f,{x,1}]
In[11]:
=FindRoot[f,{x,{0,1}}]
(4)学会用Solve[]求解方程组。
In[12]:
=Solve[{a1*x+b1*y==c1,a2*x+b2*y==c2},{x,y}]
(5)学会DSolve[]的使用方法
In[13]:
=DSolve[y''[x]+3y'[x]+2y[x]==Exp[x],y[x],x]
(6)用Mathematica软件计算下列极限:
(1)In[1]:
=Limit[(n^3)/(-n^3+n^2+1),n->Infinity];
(2)In[2]:
=Limit[Tan[x],x->Pi/2,Direction->1]
(3)In[3]:
=Limit[Tan[x],x->Pi/2,Direction->-1]
(4)In[4]:
=
(5)In[5]:
=
(6)In[6]:
=
(7)In[7]:
=Limit[((1+x)^a-1)/x,x->0](*Mathematica也能处理符号极限*)
(8)In[8]:
=
(9)In[9]:
=
(10)In[10]:
=
(11)In[11]:
=
(12)In[12]:
=Limit[Sin[1/x],x->0](*无极限的例子*)
实验二积分运算与微分基本运算及函数的幂级数展开
一、实验目的
(1)通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法;
(2)学习并掌握二重积分及线性积分的计算方法;
(3)学习常用积分命令;
(4)掌握求函数的导函数和偏导数方法;
(5)学会使用Mathematica软件进行函数的幂级数展开。
二、预备知识
(1)定积分的概念、几何意义,二重积分的概念、二重积分化为定积分的过程及其计算方法;
(2)本实验所用Mathematica有关命令:
●无限积分:
Integrate[f,x]
●定积分:
Integrate[f,{x,上限,下限}]
(3)函数的导函数、偏导数以及函数的幂级数展开式;
(4)本实验所用的Mathematica函数提示:
(a)求导数(或偏导数)
●D[表达式F,x]求F对于变量x的导数;
●D[表达式F,x1,x2,...]按顺序求F关于x1,x2,…的偏导数;
●D[表达式F,{x,n}]求F对x的n阶导数。
(b)幂级数展开
●Series[表达式F,{x,x0,n}]求F关于变量x在x0的n阶泰勒展式。
三、实验内容与要求
(1)求函数
的原函数;
(2)求
;
(3)求
;
(4)求
;
(5)求
。
(6)求出被积函数F(x)=
的原函数和导函数,并画出被积函数、原函数和导函数的图形,试分辨出哪一条曲线属于哪个函数。
(7)对函数sinx在0点展开10阶和20阶,并以图形方式对比展开的结果和sinx的差别,并分析阶数高的展式对于原来函数的逼近程度是否优于阶数低的展式。
四、实验操作
(1)In[1]:
=Integrate[a*Sin[x^2]x^3,x]
(2)In[2]:
=Integrate[a*x^n,x]
(3)In[3]:
=Integrate[a*x^n,{x,0,1}]
(4)In[4]:
=Integrate[Integrate[x*y,{y,2x,x^2+1}],{x,0,1}]
(5)In[5]:
=Integrate[x*Cos[y],{x,0,Pi},{y,0,x}]
(6)In[1]:
=f1=(x+1)/(x^2+3x+5)
In[2]:
=f2=Integrate[f1,x]
In[3]:
=f3=D[f1,x]
In[4]:
=Plot[{f1,f2,f3},{x,-1,1}]
(7)In[5]:
=s1=Series[Sin[x],{x,0,10}]
In[6]:
=s2=Series[Sin[x],{x,0,20}]
In[7]:
=g1=Normal[s1]
In[8]:
=g2=Normal[s2]
In[9]:
=Plot[{g1,Sin[x]},{x,-5,5}]
In[10]:
=Plot[{g2,Sin[x]},{x,-5,5}]
In[11]:
=Plot[g1-g2,{x,-5,5}]
实验三放射性废料的处理问题
一、实验目的
巩固和理解微分方程理论及其应用。
二、预备知识
常微分方程理论和Mathematica解方程的命令。
三、问题的提出
美国原子能委员会以往处理浓缩放射性废料的方法,一直是把它们装入密封的圆桶里,然后扔到水深90多米的海底。
生态学家和科学家们表示担心,怕圆桶下沉到海底时与海底碰撞而发生破裂,从而造成核污染。
原子能委员会分辩说这是不可能的。
为此工程师们进行了碰撞实验,发现当圆桶下沉到海底时的速度超过12.2m/s,圆桶与海底碰撞会发生破裂。
为避免圆桶碰裂,需要计算圆桶沉到海底时的速度是多少?
这时已知圆桶重为239.46kg,体积为0.2058m3,海水密度为1035.71kg/m3。
如果圆桶下沉到海底时的速度小于12.2m/s,就说明这种方法是可靠的;否则就要禁止用这种方法来处理放射性废料。
假设水的阻力与速度大小成正比,其正比例常数为0.6。
(1)根据问题建立数学模型。
(2)根据数学模型求解的结果,判断这种处理废料的方法是否合理?
四、问题分析及建立模型
圆桶运动规律:
(1)
(2)
其中
,
由题设可得圆桶的位移和速度分别满足如下微分方程:
(3)
(4)
2、若
,类似上面,可得到这时圆桶的速度分别满足如下微分方程:
五、计算过程
1、由
(1)
(2)(3)(4)以及题设的初始数据,通过如下Mathematica程序就可以求出圆筒的位移和速度的方程。
源程序:
In[1]:
=m=239.46;w=0.2058;g=9.8;p=1035.71;k=0.6;
DSolve[{m*s''[t]==m*g-p*g*w-k*s'[t],s[0]==0,s'[0]==0},s[t],t]
DSolve[{m*v'[t]==m*g-p*g*w-k*v[t],v[0]==0},v[t],t]
Out[1=
(5)
(6)
2、由(5)及S(t)=90m,由下面程序
得到:
t=12.994,带入(6),运行如下命令
得V=13.772>12.2,此时说明此法处理废料不行。
六、结果分析
在实际情况中k与v的关系很难确定,所以上面的模型有它的局限性,且对不同的介质比如在空气中和在水中k与v的关系就不同。
在一般情况下,k应是v的函数,即k=k(v),至于是什么样的函数很难确定。
七、模型推广
这个模型可以推广到其他方面,比如说一个物体从高空落向地面的道理也是一样的,尽管物体越高,落到地面的速度也越大,但决不会无限大。
实验四路程估计问题
一、实验目的
能用数学软件进行数据拟合。
二、预备知识
多元函数的极值求法;线性拟合的最小二乘法原理。
三、问题的提出
外出旅行或行军作战等,都可能涉及到两地路程的估计问题。
当身边带有地图时,这似乎是件很容易的事。
然而,从地图上量出的距离却是两地的直线距离
,你能由此估计出两地的实际路程
吗?
建立
关于
的模型:
。
(1)要确定
与
的近似函数关系,必须收集若干
及与之相应的
的具体数据,通过分析找出规律。
这里将《中国地图》中量得四川省彭州市到其他几个城市的直线距离,并按比例尺(1cm为20km)进行转换,以及从到汽车站了解到的对应的实际路程的有关数据列于表2-2。
表2-2城市间直线距离和实际路程
彭州市
成都
郫县
都江堰
什邡
德阳
新繁
广汉
温江
崇庆
→
地图直线距离(cm)
1.8
1.08
1.55
1.32
2.3
0.75
1.64
1.7
2.38
地图转换距离d(km)
36
21.6
31
26.4
46
15
32.8
34
47.6
实际路程s(km)
42
30
58
43
68
16
43
50
65
(2)启动数学软件,将上表中d与s两组数据,按拟合时所需形式输入。
(3)画出数据散布图,观察它们是否大致在一条直线附近。
(4)进行直线拟合,并在同一图中显示拟合直线与数据点。
观测拟合情况,并记下所得到的模型(称为经验模型)。
(5)在只作粗略估计的情况下,为便于计算,若将上面得到的模型修改成
(简单模型)行吗?
根据表中数据,取b=3,试画出简单模型与样本数据点的图形,并与(4)所得到的图形相对照。
(6)试计算由两个模型得到的估计值与实际值的差(残差),以大致观测一下两个模型的差异。
在只作粗略估计的前提下,你愿意用哪个模型?
实验解答
四、问题分析与建立模型
问题的关键在于收集数据,然后描出数据散布图,通过观测,决定用什么函数去拟合。
由所给数据,发现它们大致在一条直线附近,故用直线拟合,又因d=0时,S必为零,因此,不妨设模型为S=ad。
五、计算过程
1、x={36,21.6,31,26.4,46,15,32.8,34,47.6};
y={42,30,58,43,68,16,43,50,65};
shu=ListPlot[data,PlotStylePointSize[0.02]](*作数据散布点*)
s=Fit[data,{d},d];(*拟合直线*)
Print[‘‘s=’’s]
p=Plot[s,{d,0,50}](*作拟合直线图*)
Show[shu,p](*在同一图上观测拟合效果*)
Out[6]=
S=1.42852d
Out[8]=-Graphics-
由此,得出经验模型S=1.42952d
将经验模型修改为简单模型S=1.5d-b,其目的很清楚,是为了便于计算,在只作粗略估计的情况下,我们更宁愿这样作,作为实践中的一条经验,它比前者更具有优势。
式中的b显然应因短程与远程而有所不同,这实际上给我们提出了这样一个问题:
对某值比如50km以内的较短路程用一个公式,对较长的路程再用一个公式是否会更好呢?
2、a=1.5b=3b因路程长短有所不同
ln[9]=
m=Plot[1.5*d-3,{d,0,50}];
show[shu,m](*显示简单模型与样本数据点的图形*)
Out[10]:
=
-Graphics-
六、结果分析
In[11]:
=
sp=1.42952*x(*由经验模型算估计值*)
ss=1.5*x-3(*由简单模型算估计值*)
error1=y-sp(*计算残差值*)
error2=y-ss(*计算残差值*)
Out[11]:
={51.5,30.9,44.3,37.7,65.8,21.4,46.9,48.6,68}
{51.,29.4,43.5,36.6,66.,19.5,46.2,48.,68.4}
{-9.5,-0.88,14.,5.3,2.2,-5.4,-3.9,1.4,-3.}
{-9.,0.6,14.5,6.4,2.,-3.5,-3.2,2.,-3.4}
所得结果可见:
两个模型的差异并不大,且它们对多数点都吻合得较好,但也有误差较大的,分析其原因:
一:
是我们的模型本身是根据小样本而得到,不可能是很精确的;
二:
是有两种极端情形(它们的误差都较大)应该注意:
(1)路较直,如彭县
成都(误差为-9);
(2)路线起伏大,如彭县
灌县,实际路线是彭县
唐昌
灌县,相当于走三角形的两边(误差为+14.5)。
这是不是提醒我们,应该把与AB垂直的最大偏离h测量出来,并结合到模型中以提高精度呢?
实验上机要求
1、遵守实验室一切规章制度,爱护设备;
2、认真完成每次实验任务,并按要求写好实验报告;
3、报告内容:
认真填写报告前面的内容
系:
XXXX课程名称:
数学实验日期:
2008年XX月XX日
姓名
XXXX
组号
A-XXXX
或B-XXXX
学号
XXXX
实验室
数学实验室
专业
XXXX
班号
XXXX
老师签名
成绩评定
实验器材
一台计算机
实验一、二次实验报告的书写格式:
一、实验目的:
二、预备知识:
三、实验内容与要求:
四、实验操作与结果:
五、总结:
实验三、四次实验报告的书写格式:
一、实验目的:
二、预备知识:
三、问题的提出:
四、问题的分析与模型的建立:
五、计算过程(源程序)
六、结果分析与模型的推广
7、实验总结