数值分析上机实习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[数值分析]
2017-2018 第二学期上机实习题
1:编程计算∑
∞
=1
1
n cn , 其中c= 4.4942⨯10307
, 给出并观察计算结
果,若有问题,分析之。
解:matlab
编程如下:
图一:编程
图二:运行结果
Matlab 中,format long g 对双精度,显示15位定点或浮点格式,由上图
可知,当输入较小的n 值(n 分别取10,100,1000,100000,100000000)的时候,结果后面的指数中总是含有e-308,这和题目中的C 值很相似,我认为是由于分母中的C 值相对于n 值过大,出现了“大数吃小数”的现象,这是不符合算法原则的。
2:利用牛顿法求方程ln 2x x -=于区间[2,4]的根,考虑不同初值下牛顿法的收敛情况。
解:牛顿法公式为:
x k+1=x k −
x k −lnx k −2
1−1x
k
利用matlab 编程
当输入初值=3的时候并不能收敛。
输入2.8依旧不能收敛。
考虑利用plot 函数绘制函数f=x-lnx-2的图像,发现其在区间[2,4]内并无根。
3:给出
12512+=
x y 在
xk=0+0.25k 处的值yk, k=0,1,2,3,4. 请
给出由节点 xk 确定的三次样条插值函数S(x), 使其满足条件:S/(0)=0, S/(1)=-0.074, 分析逼近效果如何?
解:根据李庆扬《数值分析》第五版Page43的公式可以计算得到三次样条插值。
根据6.11和6.12式解得系数。
d0 58.5366
d1 17.15728
d2 8.67705
d3 2.0934
d4 0.905136
列方程 A*M=B;
A=
B=
解得M为
M=
由此和6.8式可得其三次样条函数如下:
得到最终的插值结果如下:
总的来说,利用三次样条插值的精度还是比较高的。
4:给出一个通用多项式拟合程序,
输入部分:数据组个数为n, 拟合的误差限
输出部分:多项式次数、系数向量、拟合的实际误差。解:程序代码:
>> [A,c,eff]=zxec
请输入变量x:[1 2 3 4 5 6 7 8 9 10]
请输入变量y:[1.3 3.5 4.2 5.0 7.0 8.8 10.1 12.5 13.0 15.6]
请输入拟合限差:2.50
1
1.5382 -0.3600
2.3447
A =
1.5382 -0.3600
c =
1
eff =
2.3447
>>
实例拟合结果如下图所示:
由以上拟合结果可知,在给定的限差的情况下,拟合结果为一次,得到的实际误差达到2.3447,可见拟合效果并不是很理想。如果继续缩小误差限差值,那么拟合次数将会增加,拟合的结果也将会更加趋近于真实结果。
5:已知
1
2
4
1
dx
x
π=
+
⎰
,利用复化梯形公式、复化Simpson公式和
Romberg算法求π的近似值;并观察实际计算结果,比较它们的收敛速度。
解:①复化梯形公式计算结果
分析:从结果中不断改进等分点的个数,可以看出复化梯形公式的结果需要等分至少20点才能开始收敛,若想收敛到精确值,则需要增加区间等分点数。
程序代码:
②复化Simpson 公式计算结果
分析:从结果图中可以看出对于复化Simpson公式,只需要对区间等分两次(即n=2)就可以得到非常理想的结果,说明复化Simpson公式的收敛速度非常快。程序代码:
③Romberg算法
分析:Romberg算法根据给定的限差可以直接得出收敛值,收敛速度快。程序代码:
6:用Runge-Kutta 4阶算法对初值问题y/=-20*y,y(0)=1按不同步长求解,用于观察稳定区间的作用。
注:此方程的精确解为:y=e-20x
解:结果分析:
便于比较的直观性,将龙格库塔值求出并与精确值一同绘制出来,在步长h 分别取0.1,0.025,0.01时,显示如下:
h=0.1
h=0.025
h=0.01
结果图中,虚线为龙格库塔值所成,小圆圈为真实值。从以上三幅图中可以清晰地看到,当步长取大了,误差较大,取小了,误差较少。龙格库塔法尽管可以达到较高的精度,但由于计算较为复杂,如在4阶算法中,每计算一步就要调用4次f(x,y),固运算量大。
程序代码: