【文件属性】:
文件名称:三次样条插值代码
文件大小:2KB
文件格式:ZIP
更新时间:2015-07-03 04:50:08
三次样条插值 c++三次样条插值
#include
#include
#include
using namespace std;
class scyt
{
float *x,*y,*d,*h,*u,*q,*a,*b,*c,*l,*r,*o,*M;
int m;
float y0,y3;
public:
scyt();
void qiudao();
void zgf();
void qiujie();
~scyt();
};
void main()
{
scyt hello;
hello.qiudao();
hello.zgf();
hello.qiujie();
}
scyt::scyt()
{
ifstream fin("三次样条插值.txt");
for(float j;fin>>j;)
{
m=int(j);
break;
}
x=new float[m];
y=new float[m];
d=new float[m];
h=new float[m-1];
u=new float[m-2];
q=new float[m-2];
a=new float[m-1];
b=new float[m];
c=new float[m-1];
l=new float[m];
r=new float[m-1];//此处的r为追赶法中的u;
o=new float[m];//此处o为追赶法中的y
M=new float[m];//此处M为追赶法中的x;
int jishu=0;
for(j;fin>>j;)
{
if(jishu<=m-1)
x[jishu]=j;
if(jishu>m-1&&jishu;<2*m)
{
y[jishu-m]=j;
}
if(jishu==2*m)
{
y0=j;
}
if(jishu==2*m+1)
{
y3=j;
}
jishu++;
}
fin.close();
}
void scyt::qiudao()
{
for(int i=0;i=0;i--)
{
M[i]=o[i]-r[i] * M[i+1];
}
cout<>f;
if(f==1000)
break;
for(int i=0;ix[i]&&f
【文件预览】:
龙格库塔.cpp
三次样条插值.txt
三次样条插值.cpp