资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
本科实验报告课程名称:计算数值方法实验地点:综合楼五层506室专业班级:计科1002 学号:2010001414学生姓名:xxx指导教师:王峥2012 年 6 月 20太原理工大学学生实验报告学院名称计算机科学与技术专业班级计科1002学号2010001414学生姓名xxx实验日期2012.6.5成绩课程名称计算数值方法实验题目实验一方程求根一、课题名称方程求根:熟悉使用、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。 选择上述方法中的两种方法求方程:二分法f(x)=x3+4x2-10=0在1,2内的一个实根,且要求 满足精度 Ix*-xJvO.5x1O-5迭代法:用迭代公式X二f(x)进行迭代计算,直到满足Ix*-xnlvO.5x1O-5为止。 二分法:设 f (x)在a,b上连续,且 f (a1) *f (x1) 0,记(a2,b2) = (x1,b1)带 入计算式进行计算直到lx*-xnIvO.5x1O-5为止。二、目的和意义(1) 了解非线性方程求根的常见方法,如二分法、迭代法、牛顿法、割线法。(2) 加深对方程求根方法的认识,掌握算法。会进行误差分析,并能对不同方法进行 比较。三、计算公式(1)迭代法1 ).首先对给定的计算公式进行变形使其能够迭代或者找出相应迭代速度较快的 式子。2 ).带入求好的式子到循环中去比如:X+1 =9( xk)(k = 0,1,2,)(2)二分法:f(x)在区间(x,y)上连续1) .先找到a、b属于区间(x, y),使f(a), f(b)异号,说明在区间(a,b)内一 定有零点,然后求f(a+b)/2,2) .如果f(a+b)/2=0,该点就是零点,如果f(a+b)/2#includevmath.hmain()int i;double xn15,y,xl,x2,m ; printf(请输入x1,x2的值:n);scanf(”lf%lf, &x1, &x2);printf(”请输入精度要求:n);scanf(%lf, &m);printf( n xnn);i=0;doxn0=(x1+x2)/2 ;xni+1= sqrt(10/(4+xni); 迭代 printf(”5d%5lfn,i,xni);y= fabs(xni+1-xni) ; i+;if(yvm)break;while(1);二分法:#includevstdio.h#includevmath.hmain()int m,n,o,p;double a,b,l;printf(”请输入xA3, xA2, x的系数和常数p: n); scanf(%d%d%d%d,&m,& n,&o,&p); /1 4 0-10printf(请输入 x1,x2:n);scanf(”lf%lf,&a,&b); /1 2printf(请输入精度要求:n);f(xn)n);scanf(”lf, &1); 0.5x10人5printf( n anbnxndouble x,fx;int i=1;dox=(b+a)/2;fx=m*x*x*x+n*x*x+o*x+p;printf(”5d%5f%5f%5f%5fn,i,a,b,x,fx);i+;if(fx=0) break;if(fx0) b=x;else if(fx0) a=x;if(b-a)#include cmath using namespace std;int main()int n,i,j,k;double a100100,b100,o;cou t输入未知数个数:endl; cinn;cou t输入数列:endl;for (i=l;i二n;i+)for (j=l;j二n+l;j+)cinaij;for (i=l;i二n;i+)for (j二i+l;j二n;j+)if (fabs(aji)le-7)o=aii/aji;for (k二i;k二n+l;k+) ajk=ajk*o-aik;for (i二n;i0;i)bi=ain+l/aii;for (j=i-l;jO;j)ajn+l=ajn+lbi*aji;cou t解得:endl;for (i=l;i二n;i+) coutbiendl;/system(pause);return 0; 列主元素消元法:#include#includevoid solve(float l100,float u100,float b,float x,int n) int i,j; float t,s1,s2;float y100;for(i=1;iv=n;i+)/*第一次回代过程开始*/ s1=0;for(j=1;jvi;j+)t=-lij; s1=s1+t*yj;yi=(bi+s1)/lii;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号