计算方法及程序实现.pdf
《计算方法及程序实现.pdf》由会员分享,可在线阅读,更多相关《计算方法及程序实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 一、对分法 1、#include main()float a3=,b3=-2,0,1,c3;float f(float x);int i;for(i=0;i3;i+)!do ci=(ai+bi)/;if(f(ci)=0)exit(0);else if(f(ci)*f(ai)1e-5);ci=ai;printf(the roots are:);for(i=0;i3;i+)printf(%f,ci);printf();float f(float x)float y;y=x*x*x-2*x*x-4*x-7;return(y);、3、对分部分函数调用(题目要求如 2)#include float f
2、(float x)float y;y=x*x*x-2*x*x-4*x-7;return(y);float f1(float a,float b)float c;do c=(a+b)/2;if(f(c)=0)exit(0);else if(f(a)*f(c)1e-5);return(a);main()float a=,b=,s;s=f1(a,b);printf(the root is%f,s);2、用对分法求出方程 x3-2x2-4x-7=0 在区间【3,4】内的根,精度要求为105。#include main()float a=,b=,c;float f(float x);do c=(a+b)
3、/;if(f(c)=0)printf(the root is%f,c);exit(0);/*找到方程的根*/else if(f(c)*f(a)1e-5);printf(the root is%f,a);|float f(float x)float y;y=x*x*x-2*x*x-4*x-7;return(y);对分法的算法:扫描法的算法:4、对分法和扫描结合 求方程 x4-5x2+x+2=0 的实根的上、下界,实现根的隔离,并用对分法求出所有的实根,精度要求为 105。此方程的 4 个实根分别为:root=root=root=root=#include -float f(float x)flo
4、at y;y=x*x*x*x-5*x*x+x+2;return y;main()float a,b,c;int i=0;float x,h=,p5,q5,n;scanf(%f%f,&a,&b)x=a;while(xb)?if(f(x)*f(x+h)=0)pi=x;qi=x+h;i=i+1;printf(%f,%fn,pi,qi);x=x+h;n=i;for(i=0;i1e-5)c=(a+b)/2;if(f(c)=0)printf(%fn,c);exit(0);else if(f(a)*f(c)0)b=c;else a=c;printf(%fn,c)二、秦九韶算法 使用秦九韶算法计算多项式的值a
5、0 xn+a1x1n+a1nx+an 例如计算 3x2+2x+1,当 x=-1 时值为 2。main()float aa20,y,x;int i,n;printf(input duo xiang shi ci shu n:n )scanf(%d,&n);printf(input duo xiang shi de xi shun);for(i=0;i=n;i+)scanf(%f,&aai);printf(input xn);scanf(%f,&x);y=aa0;for(i=1;i1e-5);printf(the root is%fn,x1);,float f(float x)return x*x
6、*x-x*x-2*x-3;float fd(float x)return 3*x*x-2*x-2;2、用牛顿法求 a 的立方根,精度要求为。#include main()double x0,x1;int a;printf(input an);scanf(%d,&a);/if(a=0)printf(a=0n);exit(0);x1=a;do x0=x1;x1=x0-(x*x*x-a)/(3*x*x);while(fabs(x1-x0)=;printf(the root is%fn,x1);printf(root=%fn,x1);3、用牛顿法求方程 x-ex=0(x-exp(-x)=0)在 1 附
7、近的根,精度要求为。#include main()float x0,x1;x1=;do x0=x1;x1=x0-(x-exp(-x)/(1+exp(-x);while(fabs(x1-x0)1e-5);printf(the root is%fn,x1);牛顿法的算法:4 四、列主元高斯消元法(通用程序)#include#define M 3#define N 3 main()float aMN+1,xN,temp,l,s;int i,j,k,r;printf(please input the date:n);for(i=0;iM;i+)for(j=0;jN+1;j+):scanf(%f,&ai
8、j);for(k=0;kN-1;k+)r=k;for(i=k+1;ifabs(ark)r=i;if(ark=0)printf(QYn);exit(0);else if(r!=k)for(j=k;j=N;j+)temp=akj;akj=arj;arj=temp;|for(i=k+1;i=N-1;i+)l=aik/akk;for(j=k+1;j=0;k-)s=;for(j=k+1;j=N-1;j+)s=s+akj*xj;xk=(akN-s)/akk;for(i=0;i=N-1;i+)printf(x%d=%fn,i,xi);列主元高斯消元法的算法:)5 五、LU 分解法 用 LU 分解法解线性方程
9、组,系数矩阵由二维数组 a 给出,右端由 b 数组给出。#include main()int i,j,k,m,n=4;float t;float b4=1,1,-1,-1;float a44=4,3,2,1,3,4,3,2,2,3,4,3,1,2,3,4;for(k=0;kn;k+)for(j=k;jn;j+)t=0;for(m=0;m=k-1;m+)t=t+akm*amj;akj=akj-t;for(i=k+1;in;i+)t=0;for(m=0;m=k-1;m+)t=t+aim*amk;aik=(aik-t)/akk;for(i=0;in;i+)t=0;for(j=0;j=0;i-)t=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算方法 程序 实现
限制150内