计算机数值计算方法.docx
- 文档编号:7826150
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:28
- 大小:282.89KB
计算机数值计算方法.docx
《计算机数值计算方法.docx》由会员分享,可在线阅读,更多相关《计算机数值计算方法.docx(28页珍藏版)》请在冰豆网上搜索。
计算机数值计算方法
本科实验报告
课程名称:
计算机数值方法
实验项目:
二分法牛顿法迭代法
实验地点:
学院楼606
专业班级:
学号:
学生姓名:
指导教师:
王丽娟
年05月8日
太原理工大学学生实验报告
学院名称
计算机科学与技术
专业班级
学号
学生姓名
实验日期
5月8日
成绩
课程名称
数值计算方法
实验题目
二分法迭代法求解方程
一、实验目的和要求(必填)
熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。
选择上述方法中的两种方法求方程:
f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|<0.5×10-5
2、实验内容和原理(必填)
f(x)在区间(x,y)上连续
先找到a、b属于区间(x,y),使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],
现在假设f(a)<0,f(b)>0,a
①如果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)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值
三、主要仪器设备(必填)
PC,DEV-C
四、操作方法与实验步骤(可选)
1.迭代法
#include
intmain(){
inti=0;
doublea;
doubleb[100];
printf("请输入任意一个在1与2之间的数\n");
scanf("%lf",&b[0]);
do{
b[i+1]=b[i]-((b[i]*b[i]*b[i]+4*b[i]*b[i]-10)/(3*b[i]*b[i]+8*b[i]));
i++;
}while(b[i]-b[i+1]>0.000005);
printf("%.8lf",b[i]);
getch();
}
2.牛顿法
#include"stdio.h"
#include"math.h"
main()
{
doublex=1.5,a=0;
while(pow(pow((x-a),2),0.5)/2>0.5*0.00001)
{
a=x;
x=0.5*pow(10-pow(x,3),0.5);
printf("%f\n",x);
}
getchar();
}
六、实验结果与分析(必填)
结果与书上的答案一致,编译过程中对do-while循环中条件的存在一定的不合适。
。
。
实验地点
综合楼六层606室
指导教师
王丽娟
本科实验报告
课程名称:
计算机数值方法
实验项目:
高斯消元法,LU分解法,追赶法
实验地点:
学院楼606
专业班级:
学号:
学生姓名:
指导教师:
王丽娟
年5月8日
太原理工大学学生实验报告
学院名称
计算机科学与技术
专业班级
学号
学生姓名
实验日期
5月8日
成绩
课程名称
计算机数值方法
实验题目
高斯消元法,LU分解法,追赶法
1、实验目的和要求(必填)
2)线性方程组的直接解法
合理利用Gauss消元法、LU分解法、追赶法求解下列方程组:
①
②
③
④
(n=5,10,100,…)
2、实验内容和原理(必填)
高斯分解法:
将原方程组化为三角形方阵的方程组:
lik=aik/akk
aij=aij-lik*akjk=1,2,…,n-1
i=k+1,k+2,…,nj=k+1,k+2,…,n+1
由回代过程求得原方程组的解:
xn=ann+1/ann
xk=(akn+1-∑akjxj)/akk(k=n-1,n-2,…,2,1)
LU分解法:
将系数矩阵A转化为A=L*U,L为单位下三角矩阵,U为普通上三角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x.
追赶法:
用来求对角方程组;将系数矩阵A转化为A=L*U,L为普通下n-1对角矩阵,U为单位上n-1对角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x.
3、主要仪器设备(必填)
PC,DEV-C++
4、操作方法与实验步骤(可选)
1.高斯消元法
#include
intmain(){
inti,j;
floatz,b,c,d,x1,x2,x3;
floata[3][4];
printf("请输入矩阵\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%f",&a[i][j]);
z=a[1][0]/a[0][0];
if(z!
=0);{
for(j=0;j<4;j++)
a[1][j]=a[1][j]-z*a[0][j];
}
b=a[2][0]/a[0][0];
if(b!
=0);{
for(j=0;j<4;j++)
a[2][j]=a[2][j]-b*a[0][j];
}
c=a[2][1]/a[1][1];
if(c!
=0);{
for(j=0;j<4;j++)
a[2][j]=a[2][j]-c*a[1][j];
}
for(i=0;i<3;i++){
for(j=0;j<4;j++)
printf("%f",a[i][j]);
printf("\n");
}
x3=a[2][3]/a[2][2];
x2=(a[1][3]-x3*a[1][2])/a[1][1];
x1=(a[0][3]-x3*a[0][2]-x2*a[0][1])/a[0][0];
printf("x1=%fx2=%fx3=%f",x1,x2,x3);
getch();
}
2.高斯列主元素消元法
#include
intmain(){
inti,j,n;
floatz,b,c,k,x1,x2,x3,x4;
floata[4][5];
printf("请输入矩阵\n");
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
for(i=1;i<4;i++){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数值 计算方法