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

📄 xisrevf.h

📁 c源码
💻 H
字号:
/* f.h                    freeware                          xhunga@tiscali.fr */

/* ------------------------------------- FUNCTION --------------------------  */
/* Do    :                                                                    */
/*                                                                            */
/* -------------------------------------------------------------------------- */
void gplt_SolidRevolDiskf(
double xmin,
double xmax,
double ymin,
double ymax,
double a,
double b,
double r,
double step,
  char feq[TXT_EQ],
double (*P_f)(double x)
)
{
FILE   *fp;

char    FA[FILENAME] = "a";
char    FB[FILENAME] = "b";
char    FR[FILENAME] = "r";
char    FL[FILENAME] = "l";
char    FM[FILENAME] = "m";

double  t;
double  i;

        fp = fopen("f_Df.plt","w");
fprintf(fp,"#\n");
fprintf(fp,"# Worksheet for gp371w32.exe by xhunga bernard 06000 Nice France\n");
fprintf(fp,"#\n\n");
fprintf(fp," set zeroaxis lt 8\n");
fprintf(fp," set grid\n\n");
t = ( (*P_f)((a+b)/2.) )/2.;
fprintf(fp," set label \"%s\" at %0.3f, %0.3f\n\n", feq, (((a+b)/2)+ (2.5*r)),t);
t = ((*P_f)((a+b)/2.)) + 5. * r;
fprintf(fp," set label \"dx\" at %0.3f, %0.3f\n\n", ((a+b)/2.), t);
fprintf(fp," plot [%0.3f:%0.3f] [%0.3f:%0.3f] ",xmin,xmax,ymin,ymax);
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FA);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FB);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FL);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FM);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 9 pt 0",FR);
fprintf(fp,"\n\n");
fprintf(fp," reset");
             fclose(fp);


        fp = fopen(FA,  "w");
t = ((*P_f)(a)) ;
fprintf(fp," %0.6f   %0.6f\n", a,  t);
fprintf(fp," %0.6f   %0.6f\n", a, -t);
             fclose(fp);


        fp = fopen(FB,  "w");
t = ((*P_f)(b)) ;
fprintf(fp," %0.6f   %0.6f\n", b,  t);
fprintf(fp," %0.6f   %0.6f\n", b, -t);
             fclose(fp);


        fp = fopen(FR,  "w");
t = (*P_f)( (a+b)/2.) ;
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.-(r),  t);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.-(r),0.0);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.+(r),0.0);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.+(r),  t);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.-(r),  t);
             fclose(fp);


        fp = fopen(FL,  "w");
i = a;
do{
   t = ((*P_f)(i)) ;
   fprintf(fp," %0.6f   %0.6f\n", i, t);
   i += step;
}while(i <=  b);
             fclose(fp);


        fp = fopen(FM,  "w");
i = a;
do{
   t = ((*P_f)(i)) ;
   fprintf(fp," %0.6f   %0.6f\n", i, -t);
   i += step;
}while(i <=  b);
             fclose(fp);
}


/* ------------------------------------- FUNCTION --------------------------  */
/* Do    :                                                                    */
/*                                                                            */
/* -------------------------------------------------------------------------- */
void gplt_SolidRevolCylindShellf(
double xmin,
double xmax,
double ymin,
double ymax,
double a,
double b,
double r,
double step,
  char feq[TXT_EQ],
double (*P_f)(double x)
)
{
FILE   *fp;

char    FA[FILENAME] = "a";
char    FB[FILENAME] = "b";
char    FD[FILENAME] = "d";
char    FE[FILENAME] = "e";
char    FR[FILENAME] = "r";
char    FL[FILENAME] = "l";
char    FM[FILENAME] = "m";
char    FX[FILENAME] = "x";

double  t;
double  i;

        fp = fopen("f_Df.plt","w");
fprintf(fp,"#\n");
fprintf(fp,"# Worksheet for gp371w32.exe by xhunga bernard 06000 Nice France\n");
fprintf(fp,"#\n\n");
fprintf(fp," set zeroaxis lt 8\n");
fprintf(fp," set grid\n\n");
t = ( (*P_f)((a+b)/2.) )/2.;
fprintf(fp," set label \"%s\" at %0.3f, %0.3f\n\n", feq, (((a+b)/2)+ (2.5*r)),t);
t = ((*P_f)((a+b)/2.)) + 2. * r;
fprintf(fp," set label \"dx\" at %0.3f, %0.3f\n\n", ((a+b)/2.), t);
fprintf(fp," set label \"average radius\" at %0.3f, %0.3f \n\n", ((a+b)/2.), 0-2.5*r);

fprintf(fp," plot [%0.3f:%0.3f] [%0.3f:%0.3f] ",xmin,xmax,ymin,ymax);
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FA);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FB);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FD);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FE);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FL);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 0",FM);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 9 pt 0",FR);
fprintf(fp,", ");
fprintf(fp," \"%s\" with linesp lt 3 pt 1",FX);
fprintf(fp,"\n\n");
fprintf(fp," reset");
             fclose(fp);


        fp = fopen(FA,  "w");
t = ((*P_f)(a)) ;
fprintf(fp," %0.6f   %0.6f\n", a,   t);
fprintf(fp," %0.6f   %0.6f\n", a, 0.0);
             fclose(fp);


        fp = fopen(FB,  "w");
t = ((*P_f)(b)) ;
fprintf(fp," %0.6f   %0.6f\n", b,   t);
fprintf(fp," %0.6f   %0.6f\n", b, 0.0);
             fclose(fp);


        fp = fopen(FD,  "w");
t = ((*P_f)(a)) ;
fprintf(fp," %0.6f   %0.6f\n", -a,   t);
fprintf(fp," %0.6f   %0.6f\n", -a, 0.0);
             fclose(fp);


        fp = fopen(FE,  "w");
t = ((*P_f)(b)) ;
fprintf(fp," %0.6f   %0.6f\n", -b,   t);
fprintf(fp," %0.6f   %0.6f\n", -b, 0.0);
             fclose(fp);


        fp = fopen(FR,  "w");
t = (*P_f)( (a+b)/2.) ;
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.- (r ),   t);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.- (r ), 0.0);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.+ (r ), 0.0);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.+ (r ),   t);
fprintf(fp," %0.6f   %0.6f\n", (a+b)/2.- (r ),   t);
             fclose(fp);


        fp = fopen(FL,  "w");
i = a;
do{
   t = ((*P_f)(i)) ;
   fprintf(fp," %0.6f   %0.6f\n", i, t);
   i += step;
}while(i <=  b);
             fclose(fp);


        fp = fopen(FM,  "w");
i = a;
do{
   t = ((*P_f)(i)) ;
   fprintf(fp," %0.6f   %0.6f\n", -i, t);
   i += step;
}while(i <=  b);
             fclose(fp);


        fp = fopen(FX,  "w");
fprintf(fp," %0.6f   %0.6f\n", ((a+b)/2.),  0.);
             fclose(fp);
}

⌨️ 快捷键说明

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