高斯迭代法源程序

高斯迭代法源程序

ID:14874805

大小:49.00 KB

页数:7页

时间:2018-07-30

高斯迭代法源程序_第1页
高斯迭代法源程序_第2页
高斯迭代法源程序_第3页
高斯迭代法源程序_第4页
高斯迭代法源程序_第5页
资源描述:

《高斯迭代法源程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、高斯迭代法源程序#include"stdlib.h"#include"math.h"#include"stdio.h"intagaus(a,b,n)intn;doublea[],b[];{int*js,l,k,i,j,is,p,q;doubled,t;js=malloc(n*sizeof(int));l=1;for(k=0;k<=n-2;k++){d=0.0;for(i=k;i<=n-1;i++)for(j=k;j<=n-1;j++){t=fabs(a[i*n+j]);if(t>d){d=t;js[k]=j;is=i;}}if(d+1.0=

2、=1.0)l=0;else{if(js[k]!=k)for(i=0;i<=n-1;i++){p=i*n+k;q=i*n+js[k];t=a[p];a[p]=a[q];a[q]=t;}if(is!=k){for(j=k;j<=n-1;j++){p=k*n+j;q=is*n+j;t=a[p];a[p]=a[q];a[q]=t;}t=b[k];b[k]=b[is];b[is]=t;}}if(l==0){free(js);printf("fail");return(0);}d=a[k*n+k];for(j=k+1;j<=n-1;j++){p=k

3、*n+j;a[p]=a[p]/d;}b[k]=b[k]/d;for(i=k+1;i<=n-1;i++){for(j=k+1;j<=n-1;j++){p=i*n+j;a[p]=a[p]-a[i*n+k]*a[k*n+j];}b[i]=b[i]-a[i*n+k]*b[k];}}d=a[(n-1)*n+n-1];if(fabs(d)+1.0==1.0){free(js);printf("fail");return(0);}b[n-1]=b[n-1]/d;for(i=n-2;i>=0;i--){t=0.0;for(j=i+1;j<=n-1;j+

4、+)t=t+a[i*n+j]*b[j];b[i]=b[i]-t;}js[n-1]=n-1;for(k=n-1;k>=0;k--)if(js[k]!=k){t=b[k];b[k]=b[js[k]];b[js[k]]=t;}free(js);return(1);}main(){inti;staticdoublea[4][4]={{0.2368,0.2471,0.2568,1.2671},{0.1968,0.2071,1.2168,0.2271},{0.1581,1.1675,0.1768,0.1871},{1.1161,0.1254,0.139

5、7,0.1490}};staticdoubleb[4]={1.8471,1.7471,1.6471,1.5471};if(agaus(a,b,4)!=0)for(i=0;i<=3;i++)printf("x(%d)=%e",i,b[i]);}...//RootNewton.cppNewton法求解非线性方程一个实根#include//输入输出流头文件#include"polynomials.h"//多项式及连分式求值头文件#include"NonLinearEquation.h"//非线性方程(组)求解头文件usin

6、gnamespacestd;//名字空间voidmain(void){intjs=60,k;longdoubleeps=0.000001,x=1.5;cout<"RootNewton()"=0)cout<"k="voidFunctionValueRN(_Tydx,valarray<_Ty>&y){_TydCoff0[4]={-1,0,-1,1};_TydCoff1[3

7、]={0,-2,3};valarray<_Ty>vdCoff0(dCoff0,4),vdCoff1(dCoff1,3);y[0]=PolyValueOneDim(vdCoff0,4,dx);//计算多项式值y[1]=PolyValueOneDim(vdCoff1,3,dx);//计算多项式导数值}//RootQuasiNewton.cpp拟牛顿法求解非线性方程组一组实根#include//输入输出流头文件#include"polynomials.h"//多项式及连分式求值头文件#include"NonLinearEqua

8、tion.h"//非线性方程(组)求解头文件usingnamespacestd;//名字空间voidmain(void){intk=100,i;doubleeps=0.00000

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。