计算数值方法实验报告

发布时间 : 星期四 文章计算数值方法实验报告更新完毕开始阅读

课程名称: 计算机数值方法

实验项目:方程求根,线性方程组的直接解法与迭代

解法,代数插值,最小二乘法拟合多项式

实验地点: 逸夫楼402

专业班级: 学号:

学生姓名:

指导教师: 于亚男

2012

年4月26日

太原理工大学学生实验报告

学院名称 学生姓名 课程名称 软件学院 计算机数值方法 专业班级 实验日期 实验题目 4月26日 学号 成绩 方程求根 一、实验目的和要求 (1)了解非线性方程求根的常见方法,如二分法、牛顿法、割线法。 (2)加深对方程求根方法的认识,掌握算法。 二、实验内容和原理 熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。选择上述方法中的两种方法求方程:f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|<0.5×10-5 三、主要仪器设备 HP笔记本,VC++6.0 四、操作方法与实验步骤 1.二分法:#include #include double f(double x) { double y; y=pow(x,3)+4*pow(x,2)-10; return (y); } main() { double a,b,yl,yr,ym,x1,xr,xm; a=1; b=2; yl=f(a); yr=f(b); while(yl*yr>0) { yl=f(a); yr=f(b); } xr=a; x1=b; while(fabs(xr-x1)>0.000001) { xm=(x1+xr)/2; ym=f(xm); yl=f(x1); yr=f(xr); if(yl*ym<0&&yr*ym>0) xr=xm; else x1=xm; printf(\ } printf(\所求根为x=%f\\n\ return 0; } 2.牛顿法: #include #include double f(double x) { return (pow(x,3)+4*pow(x,2)-10); } double f1(double x) { return (3*pow(x,2)+10*x); } int main() { double x,x1,y1,y2; printf(\请输入一个任意实数:X=\ scanf(\ printf(\方程的解为:\\n\ do{ x1=x; y1=f(x); y2=f1(x1); x=x1-y1/y2; } while (fabs(x-x1)>=5e-6); printf(\} 3.追赶法 五、实验数据记录和处理 1.二分法 2..牛顿法 六、实验结果与分析 通过这个两个程序可看出,二分法的计算量更大一些。 七、讨论、心得 通过这个实验,我了解了线性方程的一些求根方法,对于方程近似值的求解有了更多的理解。

联系合同范文客服:xxxxx#qq.com(#替换为@)