⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hifi_f16_aerodata.c

📁 基于Matlab2007的美军F16战斗机的非线性模型
💻 C
📖 第 1 页 / 共 4 页
字号:
double _Cy_lef(double alpha_in,double beta_in){	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("aerodata/f16CY_lef.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16CY_lef.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;	x[1] = beta_in;    return	interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _Cn_lef(double alpha_in,double beta_in){	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("aerodata/f16Cn_lef.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Cn_lef.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;	x[1] = beta_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _Cl_lef(double alpha_in,double beta_in){	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; /* alpha_in,beta_in*/	double x[2];	/* Number of dimension */	FILESIZE = 266;	/* There are 266 elements in the 14x19 2D 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)); 		ndinfo.nDimension = nDimension;		ndinfo.nPoints = intVector(nDimension);		ndinfo.nPoints[0] = 14;	/* alpha_in npoints */		ndinfo.nPoints[1] = 19; /* beta_in npoints  */		X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA2();		X[1] = getBETA1();		fp = fopen("aerodata/f16Cl_lef.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Cl_lef.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;	x[1] = beta_in;    return interpn(X,DATA,x,ndinfo);}/* End of function(...) */double _CXq(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16CXq.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16CXq.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CZq(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16CZq.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16CZq.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CMq(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16Cmq.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Cmq.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CYp(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16CYp.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16CYp.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CYr(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16CYr.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16CYr.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CNr(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16Cnr.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Cnr.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CNp(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16Cnp.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Cnp.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CLp(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16Clp.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Clp.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _CLr(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 20;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA1();		fp = fopen("aerodata/f16Clr.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16Clr.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);		}	x[0] = alpha_in;    return (interpn(X,DATA,x,ndinfo));}/* End of function(...) */double _delta_CXq_lef(double alpha_in){	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 = 1; 	double x[1];		FILESIZE = 14;		/* 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;			X = (double **) malloc(nDimension*sizeof(double*));		X[0] = getALPHA2();		fp = fopen("aerodata/f16dCXq_lef.dat","r");		if(fp==(FILE*) NULL)			mexErrMsgTxt("Cannot find file f16dCXq_lef.dat in current directory");		for(i=0;i<FILESIZE;i++){			fscanf(fp,"%lf",&data);			DATA[i] = data;			}		fclose(fp);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -