计算方法作业
绪论和插值
填空题
分别用 2.718281,2.718282 作数 e 的近似值,则其有效数字分别有 ( 6 ) 位和 ( 7 ) 位。
选择题
取$\sqrt{3}\approx1.732$,现在计算$x=(\sqrt{3}-1)^{4}$,下列方法中哪种最好?( C )
A. $28-16 \sqrt{3}$
B.$(4-2 \sqrt{3})^{2}$
C.$\frac{16}{(4+2 \sqrt{3})^{2}}$
D.$\frac{16}{(\sqrt{3}+1)^{4}}$
计算题
假设测得一个圆柱体容器的底面半径和高分别为 50.00m 和 100.00m,且已知其测量误差为 0.005m。试估计由此算得的容积的绝对误差和相对误差?
$V=\pi r^{2} h$
绝对误差:$V’-V=2 \pi r h\left(r’-r\right)
$=2 × 3.1415926 × 50 × 100 × 0.005=157.0796325
相对误差:$\frac{V’-V}{V}=2\frac{r’-r}{r} $=0.0002
证明题
证明方程$ f(x) = e^x + 10x − 2 $在区间$ [0, 1] $内有唯一的实根,使用二分法求这一实根,要求误差不超过 $\frac{1}{2}× 10^{−2}$?
$f(0.5)=4.648>0 ===> f(0.25)=1.784>0 ===> f(0.125)=0.383>0$
$ ===> f(0.0625)= -0.311<0 ===>f(0.09375)=0.0357>0$
$ ===> f(0.078125)=-0.137<0 ===> f(0.0859375)=-0.050 $
$===> f(0.08984375)=-0.0075 ===> f(0.091796875)=0.0141 $
$===> f(0.0908203125)=0.0032< \frac{1}{2}× 10^{-2}$
实根是0.0908203125
编程题
编程实现二分法算法?
以二分查找为例,函数编写如下:
1 | int BinarySearch(vector<int>& nums, int target) { |
填空题
已知$f(x)=x^3+x+1$,差商$f[0,1,2,3]=(1),f[0,1,2,3,4]=(0)$
计算题
下表是中国新冠肺炎疫情自 2.9 日到 2.17 日真实确认人数 (数据来自https://wh.opensource-service.cn)
现以 (9,11,13,15,17) 为样本点,试用拉格朗日插值方法,预测 (10,12,14,16) 日的确诊人数,并与真实值进行比较,计算绝对误差。
计算题
对上表数据以 (9,11,13,15,17) 为样本点,试用牛顿插值方法,预测 (10,12,14,16) 日的确诊人数,并与真实值进行比较,计算绝对误差。
计算题
求次数$\leq3$的多项式$p(x)$,使满足如条件:
答:$f(x) = x^3-x^2+x$
问答题
给定插值点$ (x_i,y_i), i = 0, 1, 2, · · ·, n$,可分别构造$ Lagrange $插值多项式和 $Newton$插值多项式,证明两者相同并说明各自具有的特点?
由于两者都是通过模拟多项式函数,并计算不同次数前参数的方法,因此两者得到的结果相同。
Lagrange 插值多项式:
- 插值点要求等距
- 插值基函数形式简单
- 当有新的插值点加入时,基函数要重新计算
Newton 插值多项式:
- 当有新的插值点加入时,基函数不需要重新计算
数值积分
填空题
求$\int_{1}^{2} x^{2} d x$,利用梯形公式的计算结果为($\frac{5}{2}$),利用Simpson公式的计算结果为($\frac{7}{3}$)。
梯形公式:$\frac{2-1}{2} \times(f(1)+f(2))=\frac{5}{2}$
Simpson公式:$\frac{1}{6}[f(1)+4 \cdot f(\frac{1+2}{2})+f(2)]=\frac{7}{3}$
计算题
使用New-Cotes公式($n=2,3,4$时)计算积分$\int_{-1}^{1} x^{2}e^x d x$
当$n=2$时,原式=$\frac{2}{6}[f(-1)+4*f(\frac{-1+1}{2})+f(1)]=\frac{1}{3}(e+\frac{1}{e})$
当$n=3$时,原式=$\frac{2}{8}[f(-1)+3f(-\frac{1}{3})+3f(\frac{1}{3})+f(1)]=\frac{1}{4}(e^{-1}+\frac{1}{3}e^{-\frac{1}{3}}+\frac{1}{3}e^{\frac{1}{3}}+e)$
当$n=4$时,原式=$\frac{2}{90}[7f(-1)+32f(-0.5)+12f(0)+32f(0.5)+7f(1)]=\frac{1}{45}(7e^{-1}+8e^{-\frac{1}{2}}+8e^{\frac{1}{2}}+7e)$
计算题
求$A,B$使求积公式的代数精度尽可能高,并求出其代数精度,利用此公式计算$I=\int_{1}^{2} \frac{1}{x} d x$,保留四位小数.
令$f(x)=1,x^2$,代入得:,解得$A=\frac{1}{9},B=\frac{8}{9}$
代入$f(x)=x^3$时等式成立,但$f(x)=x^4$时等式不成立,因此代数精度为3.
解得$I=1.6667$
计算题
用三点的 Gauss 公式求下面的积分:$\int_{-1}^{1} \frac{x^{2}}{\sqrt{1-x^{2}}} \mathrm{~d} x$
$\int_{-1}^{1} f(x) d x =\frac{5}{9} f\left(-\sqrt{\frac{3}{5}}\right)+\frac{8}{9} f(0)+\frac{5}{9} f\left(\sqrt{\frac{3}{5}}\right)$,解得$f(x)=\frac{\sqrt{10}{3}$
问答题
什么是求积公式的代数精确度?如何利用代数精确度的概念去确定求积公式中的待定参数?
代数精确度:对于函数$f(x)$的次数精确成立的求积公式
如何确定:令$f(x)=x^i(i=0,1,…,m)$,直到精确符合的$m$达到最大的符合值为止
非线性方程求根
填空题
写出立方根 $\sqrt[3]{13}$ 的牛顿迭代公式 ( )。
答:由牛顿迭代公式$x_{n+1}=x_n-\frac{f(x_n)}{f^{\prime}(x_n)}$,可得公式:$x_{k+1}=\frac{2 x_{k}^{3}+13}{3 x_{k}^{2}}$
因此牛顿迭代法的求$\sqrt[3]{x}$ C++函数如下:
1 | float CubeRoot(float num) |
选择题
已知方程$x^3-2x-5=0$在$x=2$附近有根,下列迭代格式中在$x_0=2$不收敛的是(C)。
(A) $ x_{k+1}=\sqrt[3]{2 x_{k}+5} $
(B) $ x_{k+1}=\sqrt{2+\frac{5}{x_{k}}} $
(C)$ x_{k+1}=x_{k}^{3}-x_{k}-5 $
(D) $ x_{k+1}=\frac{2 x_{k}^{3}+5}{3 x_{k}^{2}-2} $
计算题
用迭代法求方程$x^3-x-1=0$在$x=1.5$附近的一个根。
解:首先将方程改写为$x_i+1 = (x_i + 1) ^ {\frac{1}{3}}$,接下来用程序进行迭代计算,如下图所示:
1 |
|
计算出的根为:x=1.324718
计算题
利用牛顿法求$x^3-2x-55=0$在区间$[3,4]$的根,要求列出迭代计算3次的计算结果。
解:首先将方程改写为$x=(2x^3+55)/(3x^2-2)$,编写迭代算法如下:
1 |
|
输出结果为:
1 | 0 2725 |
计算题
用埃特金加速法求$x^5+5x^4-2=0$在$-5$附近的根,要求迭代1次,结果保留5位有效数字(精确解位$-4.9968$)。
解:首先将函数化为:$x = (2-5x^4)^{\frac{1}{5}}$,编写迭代1次算法如下:
1 |
|
解得x=-4.9968