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

📄 hermite 插值.txt

📁 数值分析的一下算法 及源代码 exe 压缩文件
💻 TXT
字号:
int i,j,e,n;
   float x,y,p_x,p_y,temp,xx[11],yy[11],mm[11],h0,h1,H0,H1,tt[11],sum,p_sum;
   Form1->Canvas->Pen->Color=clBlack;//轴色
   Form1->Canvas->MoveTo(100,300);Form1->Canvas->LineTo(450,300);//横轴
   Form1->Canvas->MoveTo(300,50);Form1->Canvas->LineTo(300,400);//纵轴
   Form1->Canvas->TextOut(x+150,-y+304,"-1");
   Form1->Canvas->TextOut(x+290,-y+304,"0");
   Form1->Canvas->TextOut(x+440,-y+304,"1");
   Form1->Canvas->Pen->Color=clBlue;//线色
   Form1->Canvas->MoveTo(x+20,-y+255);Form1->Canvas->LineTo(x+50,-y+255);//横线
   Form1->Canvas->TextOut(x+50,-y+250,"被逼近函数");//文字叙述
   Form1->Canvas->Pen->Color=clRed;//线色
   Form1->Canvas->MoveTo(x+20,-y+210);Form1->Canvas->LineTo(x+50,-y+210);
   Form1->Canvas->TextOut(x+50,-y+200,"hermite插值");

   Form1->Canvas->Pen->Color=clBlue;//曲线颜色
   x=-1.0,y=1/(1+25*x*x);
   p_x=x*150+300,p_y=-y*150+300;
   Form1->Canvas->MoveTo(p_x,p_y);
   for (x=-1.0;x<=1.0;)
   {
       y=1/(1+25*x*x);
       p_x=x*150+300,p_y=-y*150+300;
       Form1->Canvas->LineTo(p_x,p_y);
       x+=0.0001;
   }


   Form1->Canvas->Pen->Color=clRed;
   x=-1.0;
   for(i=0;i<=10;i++)
   {
       tt[i]=-50*x/((1+25*x*x)*(1+25*x*x));
       yy[i]=1/(1+25*x*x);
       xx[i]=x;
       x+=0.2;
   }
   x=-1.0,y=1/(1+25*x*x);
   p_x=x*150+300,p_y=-y*150+300;
   Form1->Canvas->MoveTo(p_x,p_y);
   for(e=0;e<=1000;e++)
   {
          for(j=1;j<=10;j++)
          {
          if(xx[j-1]<x&&x<xx[j])
          {
            h0 =(((x-xx[j])*(x-xx[j]))/((xx[j-1]-xx[j])*(xx[j-1]-xx[j])))*(1+2*(x-xx[j-1])/(xx[j]-xx[j-1]));
            h1 =(((x-xx[j-1])*(x-xx[j-1]))/((xx[j-1]-xx[j])*(xx[j-1]-xx[j])))*(1+2*(x-xx[j])/(xx[j-1]-xx[j]));
            H0 =(x-xx[j-1])*(((x-xx[j])*(x-xx[j]))/((xx[j-1]-xx[j])*(xx[j-1]-xx[j])));//(xx[j-1]-xx[j])*
            H1 =(x-xx[j])*(((x-xx[j-1])*(x-xx[j-1]))/((xx[j]-xx[j-1])*(xx[j]-xx[j-1])));//(xx[j-1]-xx[j])*
            sum=yy[j-1]*h0+ yy[j]*h1+tt[j-1]*H0+tt[j]*H1;
          }
          }
      p_x=x*150+300,p_y=-sum*150+300;
      Form1->Canvas->LineTo(p_x,p_y);
      x+=0.002;
   }

⌨️ 快捷键说明

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