球的最小二乘拟合
以下是我写的程序:
#include
#include
#include
#include
#define MAX 10 void Input(double*matrix,int m,int n,double A[4][4]);
void Output(double*matrix,int m,int n,double IA[4][4]);
void InputExample();
void Inverse(double*matrix1,double*matrix2,int n,double d);
double AlCo(double*matrix,int jie,int row,int column);
double Determinant(double*matrix,int n);
double Cofactor(double*matrix,int jie,int row,int column);
void PrintMTX(double A[4][4])
{
for(int i=0;i 4;i++)
{
printf("\n");
for(int j=0;j 4;j++)
printf("%10G",A[i][j]);
}
printf("\n");
}
void main()
{
double*matrix1[MAX],*matrix2[MAX];
double d;
int n;
//printf("请输入行列式的阶数:");
//scanf("%d",&n);
n=4;
//InputExample();
//printf("开始输入矩阵:\n");
int i,j;
double Y[4],fac[4],array[12][3],MTX[4][4],IMTX[4][4];
ZeroMemory(MTX,sizeof(MTX));
ZeroMemory(IMTX,sizeof(IMTX));
ZeroMemory(Y,sizeof(Y));
ZeroMemory(fac,sizeof(fac));
//以下的数据是我用SolidWorks画出来的球,我在球上任意取了12个点
array[0][0]=-;array[0][1]=;array[0][2]=;
array[1][0]=-;array[1][1]=;array[1][2]=-;
array[2][0]=-;array[2][1]=;array[2][2]=;
array[3][0]=-;array[3][1]=;array[3][2]=;
array[4][0]=-;array[4][1]=;array[4][2]=;
array[5][0]=-65;array[5][1]=;array[5][2]=-;
array[6][0]=-;array[6][1]=;array[6][2]=-;
array[7][0]=-56
《球的最小二乘拟合》 来自淘豆网www.taodocs.com转载请标明出处.