num1=sqrt(num1);
num2=sqrt(num2);
if((num1/num2)<=e)
tu[0]=result1[0];
tu[1]=result1[1];
tu[2]=result1[2];
tu[3]=result1[3];
break;
for(i=0;i<4;i++)
result[i]+=result1[i];
}
{
}
{
}
else if((0.3
j=4;
l1[0]=((tt-t[i])*(tt-t[i+1]))/((t[i-1]-t[i])*(t[i-1]-t[i+1]));
l1[1]=((tt-t[i-1])*(tt-t[i+1]))/((t[i]-t[i-1])*(t[i]-t[i+1]));
l1[2]=((tt-t[i-1])*(tt-t[i]))/((t[i+1]-t[i-1])*(t[i+1]-t[i]));
l2[0]=((uu-u[j])*(uu-u[j+1]))/((u[j-1]-u[j])*(u[j-1]-u[j+1]));
l2[1]=((uu-u[j-1])*(uu-u[j+1]))/((u[j]-u[j-1])*(u[j]-u[j+1]));
l2[2]=((uu-u[j-1])*(uu-u[j]))/((u[j+1]-u[j-1])*(u[j+1]-u[j]));
result=l1[0]*l2[0]*z[i-1][j-1]+l1[0]*l2[1]*z[i-1][j]+l1[0]*l2[2]*z[i-1][j+1]
+l1[1]*l2[0]*z[i][j-1]+l1[1]*l2[1]*z[i][j]+l1[1]*l2[2]*z[i][j+1]
+l1[2]*l2[0]*z[i+1][j-1]+l1[2]*l2[1]*z[i+1][j]+l1[2]*l2[2]*z[i+1][j+1];
//幂函数
return result;
}
double y_x(double y,int x)
{
int i;
double result=1;
for(i=1;i<=x;i++)
result=result*y;
return result;
int i,j,m;
double num=0,result=0;
double
}
double Pk(double x,double y,double C[10][10],int k)
{
//曲面拟合函数
B[11][10],G[21][10],BB[10][10],GG[10][10],U[11][21],UU[21][21],tu[4];
double X[11]={0,0.08,0.16,0.24,0.32,0.40,0.48,0.56,0.64,0.72,0.80};
double
Y[21]={0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.05,1.1,1.15,1.2,1.25,1.3,1.3
5,1.4,1.45,1.5};
for(i=0;i<11;i++)
for(i=0;i<21;i++)
B[i][0]=1;
for(j=1;j<=k;j++)
B[i][j]=y_x(X[i],j);
G[i][0]=1;
for(j=1;j<=k;j++)
G[i][j]=y_x(Y[i],j);
{
}
{
}
for(i=0;i<11;i++)
for(j=0;j<21;j++)
Newton(X[i],Y[j],tu);
U[i][j]=Z(tu[0],tu[1]);
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
num=num+B[m][i]*B[m][j];
for(m=0;m<11;m++)
{
}
BB[i][j]=num;
num=0;
{
}
{
}
{
}
{
}
{
}
{
}
{
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
num=0;
for(m=0;m<21;m++)
GG[i][j]=num;
num=num+G[m][i]*G[m][j];
A_ni(BB,k+1);
A_ni(GG,k+1);
num=0;
for(i=0;i<=k;i++)
for(j=0;j<21;j++)
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
for(m=0;m<11;m++)
num=num+B[m][i]*U[m][j];
UU[i][j]=num;
num=0;
for(m=0;m<21;m++)
num=num+UU[i][m]*G[m][j];
C[i][j]=num;
num=0;
}
{
}
{
}
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
for(m=0;m<=k;m++)
num=num+BB[i][m]*C[m][j];
UU[i][j]=num;
num=0;
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
for(m=0;m<=k;m++)
num=num+UU[i][m]*GG[m][j];
C[i][j]=num;
num=0;
for(i=0;i<=k;i++)
for(j=0;j<=k;j++)
result=result+C[i][j]*y_x(x,i)*y_x(y,j);
return result;
}
void main()
{
double tu[4],U[11][21],B[11][10],BB[10][10],C[10][10];
double X[11]={0,0.08,0.16,0.24,0.32,0.40,0.48,0.56,0.64,0.72,0.80};
double
Y[21]={0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.05,1.1,1.15,1.2,1.25,1.3,1.3
5,1.4,1.45,1.5};
double x[8]={0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8};
double y[5]={0.7,0.9,1.1,1.3,1.5};
double num=0;
int i,j,m,k=1;
for(i=0;i<11;i++)
{
for(j=0;j<21;j++)
Newton(X[i],Y[j],tu);
U[i][j]=Z(tu[0],tu[1]);
{
}
}
while(1)
{
printf("x[%d]=%f,y[%d]=%f,f(x[%d],y[%d])=%12.11e\n",i,X[i],j,Y[j],i,j,U[i][j]);