- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值实验报告
本科实验报告
课程名称: 计算机数值方法
实验地点: A206
专业班级: 软件工程1416 学号: 2014005978
学生姓名: 石慧宇
指导教师:
2016 年 4实验一 方程求根
实验目的和要求
熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。至少选择上述方法中的一种算法(可选多种算法进行对比)求方程:f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|0.5×10-5
实验内容和原理
f(x)在区间(x,y)上连续
先找到a、b属于区间(x,y),使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],
现在假设f(a)0,f(b)0,ab
①如果f[(a+b)/2]=0,该点就是零点,
如果f[(a+b)/2]0,则在区间((a+b)/2,b)内有零点,(a+b)/2=a,从①开始继续使用
中点函数值判断。
如果f[(a+b)/2]0,则在区间(a,(a+b)/2)内有零点,(a+b)/2=b,从①开始继续使用
中点函数值判断。
这样就可以不断接近零点。
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值
主要仪器设备
VC6.0 笔记本计算机
操作方法与实验步骤
#includeiostream
#includemath.h
using namespace std;
float Pro(float x) {
return x*x*x + 4 * x*x - 10;
}
float Half(float left, float right) {
float mid = ((right + left) / 2);
float mod = (right - left) / 2;
float x;
if (mod 0.5 * pow(10,-5) || Pro(mid) == 0)
return mid;
else if (Pro(mid)*Pro(right) 0)
x=Half(mid, right);
else
x=Half(left, mid);
return x;
}
void main() {
cout 方程的根是 Half(1, 2);
cout\n;
}
五 、实验结果与分析
讨论、心得
由于长时间没有用C语言编程,不少语法、函数变得生疏,导致程序经常报错,在学习上算法时学习了迭代法,在编程时采用了迭代法。 实验二 线性方程组的直接解法
实验目的和要求
熟悉消元法、LU分解法,至少选择上述方法中的一种算法(可选多种算法进行对比)求解下列方程组:
①
实验内容和原理
高斯分解法:
⑴将原方程组化为三角形方阵的方程组:
lik=aik/akk
aij= aij- lik* akj k=1,2,…,n-1
i=k+1,k+2, …,n j=k+1,k+2, …,n+1
⑵由回代过程求得原方程组的解:
xn= ann+1/ ann
xk=( akn+1-∑akj xj)/ akk (k=n-1,n-2, …,2,1)
LU分解法:
将系数矩阵A转化为A=L*U, L为单位下三角矩阵,U为普通上三角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x.
主要仪器设备
VC6.0 笔记本计算机
操作方法与实验步骤
#includeiostream
using namespace std;
int main(){
int i,a1,b1,c1;
int a[4]={1,2,3,14},b[4]={0,1,2,8},c[4]={2,4,1,13};
a1=a[0];
b1=b[0];
c1=c[0];
for(i=0;i4;i++){
b[i]=b[i]-a[i]/a1*b1;
c[i]=c[i]-a[i]/a1*c1;
}
b1=b[1];c1=c[1];
for(i=1;i4;i++){
c[i]=c[i]-b[i]/b1*c1;
}
int x1,x2,x3;
x3=c[3]/c[2];
x2=(b[3]-b[2]*x3)/b[1];
x1=(a[3]-a[2]*x3-a[1]*
文档评论(0)