计算方法上机题目Word格式文档下载.docx
《计算方法上机题目Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算方法上机题目Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
![计算方法上机题目Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/eda47c25-deda-4884-be93-adf48cf50bcc/eda47c25-deda-4884-be93-adf48cf50bcc1.gif)
3.绘图程序的设计模式
#include"
graphics.h"
main()
{intgraphdriver=DETECT,graphmode;
initgraph(&
graphdriver,&
graphmode,"
"
);
调用绘图函数进行绘图
closegraph();
}
实验内容:
实验一
实验题目:
编写程序求多项式
在某一点x的值。
相关知识:
秦九韶算法(递推计算公式)
递推关系的由来:
因为可以改写为
此法只用n次加法和n次乘法,称此算法为秦九韶(约1202~1261,南宋四川人,著有《数书九章》)算法。
国外称秦九韶算法为Horner(霍纳)规则,其实Horner于1819年才提出此算法,比秦九韶晚了500多年。
数据结构:
一维数组
算法设计:
(略)
编写代码:
实验用例:
自选
实验要求:
编写通用程序——能够求任意多项式在任意一点的值。
建议:
画出多项式的曲线。
实验二
Lagrange插值多项式
通过n+1个节点的次数不超过n的Lagrange插值多项式为:
其中,Lagrange插值基函数,k=0,1,…,n。
两个一维数组或一个二维数组
已知函数y=f(x)的一张表:
x
10
20
30
40
50
60
70
80
90
100
110
120
y
5
1
7.5
3
4.5
8.8
15.5
6.5
-5
-10
-2
7
试验要求:
利用Lagrange插值多项式求被插值函数f(x)在点x=65处的近似值。
画出Lagrange插值多项式的曲线。
实验三
Newton插值多项式
通过n+1个节点的次数不超过n的Newton插值多项式为:
已知函数y=f(x)的一张表(同实验二)
利用Newton插值多项式求被插值函数f(x)在点x=65处的近似值。
画出Newton插值多项式的曲线。
实验四
Hermite插值多项式
通过n+1个节点的次数不超过2n+1的Hermite插值多项式为:
其中,Hermite插值基函数
三个一维数组或一个二维数组
已知函数y=f(x)的一张表(其中):
0.10
0.20
0.30
0.40
0.50
0.904837
0.818731
0.740818
0.670320
0.606531
m
-0.904837
-0.818731
-0.740818
-0.670320
-0.606531
0.60
0.70
0.80
0.90
1.00
0.548812
0.496585
0.449329
0.406570
0.367879
-0.548812
-0.496585
-0.449329
-0.406570
-0.367879
利用Hermite插值多项式求被插值函数f(x)在点x=0.55处的近似值。
画出Hermite插值多项式的曲线。
实验五
曲线拟合的最小二乘法
已知C[a,b]中函数f(x)的一组实验数据(xi,yi)(i=0,1,…,m),其中yi=f(xi)。
设是C[a,b]上线性无关函数族。
在中找函数f(x)曲线拟合的最小二乘解,其法方程(组)为:
其中,
k=0,1,…,n
特别是,求函数f(x)曲线拟合的线性最小二乘解的计算公式为:
68
67.1
66.4
65.6
64.6
61.8
61.0
60.8
60.4
利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x=55处的近似值,并画出实验数据和直线。
实验六
复化求积公式
将积分区间[a,b]n等分,节点xk=a+kh,k=0,1,…,n,步长。
复化梯形公式为:
再将每个小区间二等分,即整个积分区间[a,b]2n等分,此时复化梯形公式为。
复化梯形公式的递推关系为
其中,,。
复化梯形公式的算法如下
第一步:
n=1,h=b-a;
第二步:
;
第三步:
计算;
第四步:
第五步:
n=2n,h=h/2;
第六步:
若(事先给定的误差精度),则转第三步;
第七步:
输出Tn和等分数n/2,结束算法。
利用复化梯形求积公式求的近似值(积分的精确值I=-12.0703463164,),误差精度。
实验七
Romberg求积公式
用两个相邻的近似公式(其中后一个公式是由前一个公式的分半得到的)的线性组合而得到更好的近似公式的方法,就是近代电子计算机上常用的Romberg求积方法,也叫逐次分半加速(收敛)法。
设以表示二分k次后求得的梯形值,且以表示序列{}的j次加速值。
Romberg求积公式的T表如下
k
h
…
b-a
2
4
Romberg求积公式(逐次分半加速公式)如下
一个二维数组
Romberg求积公式的算法如下
取k=0,h=b-a,求
令1→k(k记区间[a,b]的二分次数)
⑴求梯形值,按梯形的递推公式;
⑵求加速值,按公式逐个求出T表的第k行其余各元素(j=1,2,…,k);
⑶若(预先给定的误差精度),k+1→k,则转⑴;
输出和等分数(或二分次数k),结束算法。
利用Romberg求积公式求上述定积分(),误差精度。
实验八
用Gauss消元法求解线性代数方程组
在做除法运算时,分母的绝对值越小,舍入误差就越大。
因此,消元的每一步都先选取绝对值比较大的元素(称作主元),用它作分母再消元。
这就是主元素消去法的基本思想。
用一个二维数组存储线性代数方程组的增广矩阵;
线性代数方程组的解最后存储在增广矩阵的最后一列上。
用列主元Gauss消元法求解线性代数方程组(同时求出系数行列式的值det)的算法为
det←1;
对于k=1,2,…,n-1
⑴按列选取主元,找,使
⑵如果(最好是,为预先给定的一个非常小的数),则det=0,计算停止
⑶如果(或),则换行
①
②det←-det
⑷消元计算,对于i=k+1,k+2,…,n
②对于j=k+1,k+2,…,n+1
⑸
如果(最好是,为预先给定的一个非常小的数),则det=0,计算停止,否则,回代求解
⑴
⑵对于i=n-1,n-2,…,1
1对于j=i+1,i+2,…,n
2
线性代数方程组为
利用列主元的Gauss消元法求解上述线性代数方程组(精确解为),并同时求出系数行列式的值。
实验九
直接三角分解法
有矩阵A的三角LU分解,则求解线性代数方程组Ax=b的问题就等价于求解两个三角方程组Ly=b和Ux=y。
而利用矩阵相等则对应元素相等的事实,可逐一求出系数矩阵A的三角分解中L和U的各元素。
分解过程的计算公式如下
一个一维数组先后存储b、y和x;
一个二维数组先存储A,后被L和U覆盖(二者中的零元素不用存,L的对角元1亦不用存)
利用直接三角分解法求解线性代数方程组的算法
分解对于r=1,2,…,n-1
⑴求L的r列对于i=r+1,r+2,…,n
⑵求U的r+1行
①l←r+1
②对于i=l,l+1,…,n
求解Ly=b(解存储在b中)对于i=2,3,…,n
求解Ux=b(即y,解仍然覆盖b)
利用直接三角分解法求解上述线性代数方程组(精确解为)
实验十
求解线性代数方程组的迭代法
求解线性代数方程组的Gauss-Seidel迭代法的计算公式如下
一个一维数组和一个二维数组
用Gauss-Seidel迭代法求解线性代数方程组的算法如下
对于i=1,2,…,n
(取零向量为初始向量)
e←0
⑵对于j=1,2,…,n但
⑶
⑷若,则
若(预先给定的误差精度),则转到第二步
输出并停止计算
利用Gauss-Seidel迭代法(或Jacobi迭代法)求解上述线性代数方程组(它的精确解为)。