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

📄 ip_m.c

📁 包括线性插值
💻 C
字号:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
#include "Lescape.c"//追赶法求解三对角线性方程组
#include "Ip_back.c"//细分节点,回代求解

void main()
{
   int i,j;
   double Ip,t;
   double m[13],r[13],b[13],a[37];
   static double x[13]={0.00,4.74,9.50,19.00,38.00,57.00,76.00,95.00,114.00,133.00,152.00,171.00,190.00};
   static double y[13]={0.00,5.32,8.10,11.97,16.15,17.10,16.34,14.63,12.16,9.69,7.03,3.99,0.00};
   
   for(i=1;i<=11;i++)
   {
   	 m[i]=fabs(x[i+1]-x[i])/(fabs(x[i]-x[i-1])+fabs(x[i+1]-x[i]));
   	 r[i]=1-m[i];
   	 b[i]=(6/(fabs(x[i]-x[i-1])+fabs(x[i+1]-x[i])))*((y[i+1]-y[i])/fabs(x[i+1]-x[i])-(y[i]-y[i-1])/fabs(x[i]-x[i-1]));
   }
   b[0]=0;b[12]=0;a[0]=a[36]=2;a[1]=a[35]=0;
   j=1;
   for(i=1;i<=11;i++)
   {
   	 a[2*i+(j-1)]=r[i];
   	 a[2*i+j]=2;
   	 a[(2*i)+(j+1)]=m[i];
   	 j=j+1;
   }
 
   Lescape(a,b,13);
   printf("the X_array is:\n");
   for (i=0;i<=12;i++)
      printf("x(%d)=%13.7e\n",i,b[i]); 
   printf("\n");
   printf("机翼曲线三次样条插值结果:");
   printf("\n");
   for(t=0;t<=190;t++)
   {
    Ip=Ip_back(x,y,b,13,t);
      printf("x=%6.3f,   y=%6.3f\n",t,Ip);
    /*printf("%6.3f  %6.6f\n",t,Ip);*/
    /*printf("x=%6.3f,   f(x)=%e\n",t,Ip);*/
   }
    
}

⌨️ 快捷键说明

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