📄 hifi_f16_aerodata.c
字号:
#include"mex.h"#include"mexndinterp.c"double *getALPHA1(){FILE *fp = fopen("ALPHA1.dat","r");int i;double *alpha1,data;if(fp==NULL) mexErrMsgTxt("Can't find file ALPHA1.dat");alpha1 = doubleVector(20);for(i=0;i<20;i++){ fscanf(fp,"%lf",&data); alpha1[i] = data; }fclose(fp);return(alpha1);}double *getALPHA2(){FILE *fp = fopen("ALPHA2.dat","r");int i;double *alpha2,data;if(fp==NULL) mexErrMsgTxt("Can't find file ALPHA2.dat");alpha2 = doubleVector(14);for(i=0;i<14;i++){ fscanf(fp,"%lf",&data); alpha2[i] = data; }fclose(fp);return(alpha2);}double *getBETA1(){FILE *fp = fopen("BETA1.dat","r");int i;double *beta1,data;if(fp==NULL) mexErrMsgTxt("Can't find file BETA1.dat");beta1 = doubleVector(19);for(i=0;i<19;i++){ fscanf(fp,"%lf",&data); beta1[i] = data; }fclose(fp);return(beta1);}double *getDH1(){FILE *fp = fopen("DH1.dat","r");int i;double *dh1,data;if(fp==NULL) mexErrMsgTxt("Can't find file DH1.dat");dh1 = doubleVector(5);for(i=0;i<5;i++){ fscanf(fp,"%lf",&data); dh1[i] = data; }fclose(fp);return(dh1);} double *getDH2(){FILE *fp = fopen("DH2.dat","r");int i;double *dh2,data;if(fp==NULL) mexErrMsgTxt("Can't find file DH2.dat");dh2 = doubleVector(3);for(i=0;i<3;i++){ fscanf(fp,"%lf",&data); dh2[i] = data; }fclose(fp);return(dh2);}double _Cx(double alpha,double beta,double dele){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 3; double x[3]; FILESIZE = 1900; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; ndinfo.nPoints[1] = 19; ndinfo.nPoints[2] = 5; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); X[2] = getDH1(); fp = fopen("CX0120_ALPHA1_BETA1_DH1_201.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CX0120_ALPHA1_BETA1_DH1_201.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; x[2] = dele; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cz(double alpha,double beta, double dele){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 3; /* alpha,beta,dele */ double x[3]; /* Number of dimension */ FILESIZE = 1900; /* There are 1900 elements in the 20x19x5 3D array */ /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); /* There are 1900 elements */ ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; /* Alpha npoints */ ndinfo.nPoints[1] = 19; /* Beta npoints */ ndinfo.nPoints[2] = 5; /* dele npoints */ X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); X[2] = getDH1(); fp = fopen("CZ0120_ALPHA1_BETA1_DH1_301.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CZ0120_ALPHA1_BETA1_DH1_301.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; x[2] = dele; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cm(double alpha,double beta,double dele){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 3; double x[3]; FILESIZE = 1900; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; ndinfo.nPoints[1] = 19; ndinfo.nPoints[2] = 5; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); X[2] = getDH1(); fp = fopen("CM0120_ALPHA1_BETA1_DH1_101.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CM0120_ALPHA1_BETA1_DH1_101.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; x[2] = dele; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cy(double alpha,double beta){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 2; double x[2]; FILESIZE = 380; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; ndinfo.nPoints[1] = 19; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); fp = fopen("CY0320_ALPHA1_BETA1_401.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CY0320_ALPHA1_BETA1_401.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cn(double alpha, double beta, double dele){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 3; double x[3]; FILESIZE = 1140; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; ndinfo.nPoints[1] = 19; ndinfo.nPoints[2] = 3; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); X[2] = getDH2(); fp = fopen("CN0120_ALPHA1_BETA1_DH2_501.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CN0120_ALPHA1_BETA1_DH2_501.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; x[2] = dele; return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _Cl(double alpha, double beta,double dele){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 3; double x[3]; FILESIZE = 1140; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 20; ndinfo.nPoints[1] = 19; ndinfo.nPoints[2] = 3; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA1(); X[1] = getBETA1(); X[2] = getDH2(); fp = fopen("CL0120_ALPHA1_BETA1_DH2_601.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CL0120_ALPHA1_BETA1_DH2_601.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; x[2] = dele; return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _Cx_lef(double alpha,double beta){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 2; double x[2]; FILESIZE = 266; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 14; ndinfo.nPoints[1] = 19; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA2(); X[1] = getBETA1(); fp = fopen("CX0820_ALPHA2_BETA1_202.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CX0820_ALPHA2_BETA1_202.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cz_lef(double alpha,double beta){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 2; double x[2]; FILESIZE = 266; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 14; ndinfo.nPoints[1] = 19; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA2(); X[1] = getBETA1(); fp = fopen("CZ0820_ALPHA2_BETA1_302.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CZ0820_ALPHA2_BETA1_302.dat in current directory"); for(i=0;i<FILESIZE;i++){ fscanf(fp,"%lf",&data); DATA[i] = data; } fclose(fp); } x[0] = alpha; x[1] = beta; return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cm_lef(double alpha,double beta){ static int flag = 0; static double *DATA = (double*) NULL; static double **X; static ND_INFO ndinfo ; FILE *fp; double data; int i,FILESIZE; int nDimension = 2; double x[2]; FILESIZE = 266; /* Initialise everything when this function is called for the first time */ if(flag==0){ flag = 1; /* Set to FILE_READ_TAG */ DATA = (double*) malloc(FILESIZE*sizeof(double)); ndinfo.nDimension = nDimension; ndinfo.nPoints = intVector(nDimension); ndinfo.nPoints[0] = 14; ndinfo.nPoints[1] = 19; X = (double **) malloc(nDimension*sizeof(double*)); X[0] = getALPHA2(); X[1] = getBETA1(); fp = fopen("CM0820_ALPHA2_BETA1_102.dat","r"); if(fp==(FILE*) NULL) mexErrMsgTxt("Cannot find file CM0820_ALPHA2_BETA1_102.dat in current directory");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -