• 大小: 928KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-28
  • 语言: C/C++
  • 标签:

资源简介

二分法求解;.牛顿法求解;高斯消去法求解;雅可比迭代法求解;拉格朗日插值;牛顿插值;最小二乘法拟合;龙贝格方法计算积分;欧拉方法求解初值问题;

资源截图

代码片段和文件信息

#include 
#include 
#include 
using namespace std;
void twoFF()
{cout<<“所求方程为x*x*x-x*x-2*x+1=0\n“;
double ab;
cout<<“请输入求根区间:\n“;
cout<<“a=“;
cin>>a;
cout<<“b=“;
cin>>b;
double cd;
cout<<“请输入要求达到的精度:\n“;
cout<<“精度为“;
cin>>d;
cout<<“a=0\n“;
cout<<“b=1\n“;
int n=0;
while(c>d || c<-d)
{if((a*a*a-a*a-2*a+1)*((a+b)*(a+b)*(a+b)/8-(a+b)*(a+b)/4-a-b+1)>0){a=(a+b)/2;cout<<“a=“<else {b=(a+b)/2;cout<<“b=“<n++;
c=a-b;}
cout<<“迭代次数为“<}

void Newton()
{cout<<“求方程x*(x+1)*(x+1)-1=0在x=0.4附近的根\n“;
double x=0.4m;
double cd;
cout<<“请输入要求达到的精度:\n“;
cout<<“精度为“;
cin>>d;
cout<<“x=0.4\n“;
int n=0;
while(c>d || c<-d){m=x;
x = x -(x*(x+1)*(x+1)-1) /(3*x*x+4*x+1);
cout<<“x=“<c=m-x;
n++;}
cout<<“迭代次数为“<}

int n;
double a[100][101];
double m[100];
void changerow(int g)
{int ij;
if(a[g-1][g-1]==0)
{int k;
for(k=g;k{if(a[k][g-1]!=0)break;
}
for(j=0;j{m[j]=a[g-1][j];
a[g-1][j]=a[k][j];
a[k][j]=m[j];}
}
for(i=g;im[i]=a[i][g-1]/a[g-1][g-1];
for(i=g;ifor(j=g-1;ja[i][j]=a[i][j]-m[i]*a[g-1][j];

for(i=0;i{cout<<“\n“;
for(j=0;j    printf(“    %2f“a[i][j]);
    }
cout<<“\n“;
}
void GSXU()
{
printf(“输入方程个数:“);
cin>>n;
printf(“按行输入各个方程的系数:\n“);
int ij;
for(i=0;ifor(j=0;jcin>>a[i][j];
for(i=0;i{cout<<“\n“;
for(j=0;j    printf(“    %2f“a[i][j]);}
cout<<“\n“;
for(i=1;i{changerow(i);}

double x[100];
int r=n-1;
x[n-1]=a[n-1][n]/a[n-1][n-1];
double p=0q;
for(i=n-2;i>=0;i--)
{
for(j=n-1;j>=r;j--)
{q=a[i][j]*x[j];
p=p+q;
}
x[i]=(a[i][n]-p)/a[i][i];
r--;
p=0;}
printf(“方程组解为“);
cout<<“X=“<<“(“;
for(i=0;icout<cout<cout<<“)“<}

void Jacobi()
{double a[4][4] x1[100]x2[100]x3[100];
x1[0]=0;x2[0]=0;x3[0]=0;
printf(“按行输入三元方程的各个系数:\n“);
int ij;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
cin>>a[i][j];
x1[1]=a[0][3]/a[0][0];
x2[1]=a[1][3]/a[1][1];
x3[1]=a[2][3]/a[2][2];
double c=1;
for(i=1;c>0.000001;i++)
{
x1[i]=x1[1]-a[0][1]/a[0][0]*x2[i-1]-a[0][2]/a[0][0]*x3[i-1];
x2[i]=x2[1]-a[1][0]/a[1][1]*x1[i-1]-a[1][2]/a[1][1]*x3[i-1];
x3[i]=x3[1]-a[2][0]/a[2][2]*x1[i-1]-a[2][1]/a[2][2]*x2[i-1];
c=fabs(x1[i]-x1[i-1])+fabs(x2[i]-x2[i-1])+fabs(x3[i]-x3[i-1]);
cout<}
}

double x[100]y[100];
void input(int n)
{
int i;
for(i=0;i{cout<<“x[“<scanf(“%lf“&x[i]);
cout<<“y[“<scanf(“%lf“&y[i]);}
}
void Lagrange()
{
int m;
printf(“输入点的个数:\n“);
scanf(“%d“&m);
double v;
printf(“输入所求X的值:\n“);
scanf(“%lf“&v);
input(m);
int ij;
double ab=1cd=1ef=1gh=1pq=0;
for(i=0;i{  for(j=0;j   {a=x[i]-x[j];
    b=b*a;
c=v-x[j];
d=d*c;}
   for(j=i+1;j   {e=x[i]-x[j];
    f=f*e;
g=v-x[j];
h=h*g;}
p=d*h*y[i]/b/f;
cout<<“L“<

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6710  2007-01-14 19:57  常用数值计算方法c++源代码实现\wyl.cpp

     文件       3723  2011-10-11 09:19  常用数值计算方法c++源代码实现\wyl.dsp

     文件      74752  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\vc60.idb

     文件     110592  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\vc60.pdb

     文件    2079664  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\wyl.pch

     文件     306473  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\wyl.obj

     文件     831928  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\wyl.ilk

     文件     589938  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\wyl.exe

     文件    1131520  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug\wyl.pdb

     文件      33792  2011-10-11 09:21  常用数值计算方法c++源代码实现\wyl.ncb

     文件       1165  2011-10-11 09:19  常用数值计算方法c++源代码实现\wyl.plg

     文件      48640  2011-10-11 09:21  常用数值计算方法c++源代码实现\wyl.opt

     文件        531  2011-10-11 09:21  常用数值计算方法c++源代码实现\wyl.dsw

     目录          0  2011-10-11 09:19  常用数值计算方法c++源代码实现\Debug

     目录          0  2011-10-11 09:18  常用数值计算方法c++源代码实现

----------- ---------  ---------- -----  ----

              5219428                    15


评论

共有 条评论

相关资源