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

📄 profpat.c

📁 matlab编写的三维FDTD程序 pml边界条件 实现电磁波传播数值模拟和仿真
💻 C
字号:
/* program profpat.c - calculates coordinates for profile at chosen azimuth around the antenna  */
/* 9/29/93 */
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "findif.h"
FILE *fppar,*fpat;
/*main() */
short int xcoord[180],ycoord[180],zcoord[180];
void profpat() 

{
short int i,j,k,radint,antx,anty,intz;
float y,x,a1,a2,alpha,delx,flarang,angrad;
float dist,radflt,pi,phi,theta;
pi=3.1415927;
   if ((fppar=fopen("fdmenu.par","rb")) == NULL) {
     printf("CAN'T OPEN fdmenu.PAR FILE\n");
   }
   else {
      fread(&fd1,sizeof(struct fddat),1,fppar);
   }
   fclose(fppar);
   if ((fpat=fopen("profpat.par","wb")) == NULL) {
       printf("CAN'T OPEN profpat.par OUTPUT FILE: \n");
   }
   printf("field pattern profile parameters below: \n");
   printf("dx = %f\n",fd1.dx);
   antx=fd1.xcen/fd1.dx;
   anty=fd1.ycen/fd1.dy;
   intz=fd1.zinter/fd1.dz;
   printf("TRANSMIT ANTENNA XCOORD = %d\n",antx);
   printf("TRANSMIT ANTENNA YCOORD = %d\n",anty);
   printf("INTERFACE ZCOORD =        %d\n",intz);
   printf("radius= %f\n",fd1.patrad);
   printf("phi = %f\n",fd1.patphi);
   radflt=fd1.patrad/fd1.dx;
   printf("radius in pts= %f\n",radflt);
   for(i=0;i<=90;i++) {
	theta=(i+90.)*pi/180.;
        phi=fd1.patphi*pi/180.;
        xcoord[i]=antx+radflt*sin(theta)*cos(phi)+0.5;
        ycoord[i]=anty+radflt*sin(theta)*sin(phi)+0.5;
        zcoord[i]=intz+(-1.)*radflt*cos(theta)+0.5;
   }
   for(i=1;i<90;i++) {
	theta=(180.-i)*pi/180.;
        phi=(fd1.patphi-180.)*pi/180.;
        xcoord[i+90]=antx+radflt*sin(theta)*cos(phi)+0.5;
        ycoord[i+90]=anty+radflt*sin(theta)*sin(phi)+0.5;
        zcoord[i+90]=intz+(-1.)*radflt*cos(theta)+0.5;
   }
   fwrite(xcoord,sizeof(short int),180,fpat);
   fwrite(ycoord,sizeof(short int),180,fpat);
   fwrite(zcoord,sizeof(short int),180,fpat);
   fclose(fpat);
}


⌨️ 快捷键说明

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