⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zuixiao2.txt

📁 数据拟合最小2乘法, 数据拟合最小2乘法
💻 TXT
字号:
#include<stdio.h>
#include<math.h>
#define MAX 20
double a,b;
int k;
double e;
double t[MAX][MAX];
double f(double x)
{
 return 4.0/(1+x*x);
}
void Init()
{
 printf("input a,b:");
 scanf("%lf%lf",&a,&b);
 printf("input: e= ");
    scanf("%lf",&e);
 printf(" k= ");
 scanf("%d",&k);
}
void Calute()
{
 int i,j;
 int c;
 int m;
 double sum;
 t[0][0]=(b-a)*(f(a)+f(b))/2;
 for(i=1;i<k;i++)
 {
  sum=0;
  for(j=1;j<=(int)pow(2.0,(i-1)*1.0);j++)
   sum+=f(a+(2*j-1)*(b-a)/pow(2.0,i*1.0));
  t[0][i]=1.0/2.0*t[0][i-1]+sum*(b-a)/pow(2.0,i*1.0);
 }
 c=k;
 for(m=1;m<=3;m++)
 {
    for(i=0;i<c;i++)
 {
  t[m][i]=(pow(4.0,m*1.0)*t[m-1][i+1]-t[m-1][i])/(pow(4.0,m*1.0)-1);
  if(m==3)
  {
   if(fabs(t[m][i-3]-t[m][i-4])<e)
   {
    printf("PI= %.6lf\n",t[m][0]);
     return;
   }
  }
 }
 c--;
 }
}
int main()
{
 Init();
 Calute();
 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -