📄 被逼近函数和lagrange插值函数.txt
字号:
int i,j,e;
float x,y,p_x,p_y,temp,xx[11],yy[11],mm[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,"Lagrange插值");
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++)
{
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++)
{
sum=0;
for(i=0;i<=10;i++)
{
temp=1;
for(j=0;j<=10;j++)
{
if(i!=j)
temp=temp*(x-xx[j])/(xx[i]-xx[j]);
}
sum+=yy[i]*temp;
}
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 + -