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

📄 generate_sigma.c

📁 * Lightweight backpropagation neural network. * This a lightweight library implementating a neura
💻 C
字号:
/* generate_sigma.c -- generate interpolation table for sigmoidal function * copyright (c) 2003-2005 Peter van Rossum <petervr@users.sourceforge.net> * released under the GNU Lesser General Public License * $Id: generate_sigma.c,v 1.13 2005/07/11 15:44:49 petervr Exp $ */#include <math.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>/**************************************** * Settable parameters ****************************************/float min_entry = -12.0;        /* first entry in the table, switch -f */float max_entry = 12.0;         /* last entry in the table, switch -l */int num_entries = 2000;         /* number of entries in the table, switch -n */intparse (int argc, char *argv[]){  char c;  while ((c = getopt (argc, argv, "f:l:n:h")) != -1) {    switch (c) {    case 'h':      printf ("Usage: generate_sigma [OPTIONS]\n");      printf        ("Generate an interpolation table for s(x) = 1/(1+exp(-x)).\n\n");      printf ("  -f first entry of table\n");      printf ("  -l last entry of table\n");      printf ("  -n number of entries in table\n");      printf ("  -h this help\n");      return 0;      break;    case 'f':      if (sscanf (optarg, "%f", &min_entry) == 0)        return 0;      break;    case 'l':      if (sscanf (optarg, "%f", &max_entry) == 0)        return 0;      break;    case 'n':      if (sscanf (optarg, "%i", &num_entries) == 0)        return 0;      break;    default:      printf ("Try `generate_sigma -h' for more information.\n");      exit (1);    }  }  return 1;}/**************************************** * Main ****************************************/intmain (int argc, char *argv[]){  int i;  float x, y;  float interval = (max_entry - min_entry) / (num_entries - 1);  if (parse (argc, argv) == 0)    return 0;  printf ("/* interpolation.c - interpolation table for sigmoidal function\n");  printf (" * copyright (c) 2003-2005 Peter van Rossum");  printf (" <petervr@users.sourceforge.net>\n");  printf (" * released under the GNU Lesser General Public License\n");  printf (" * automatically generated by generate_sigma */\n\n");  printf ("static const float min_entry = %.20f;\n", min_entry);  printf ("static const float max_entry = %.20f;\n", max_entry);  printf ("static const int num_entries = %i;\n", num_entries);  printf ("static const float interval = %.20f;\n", interval);  printf ("static const float interpolation[%i] = {\n", num_entries);  for (i = 0; i < num_entries; i++) {    x = interval * i + min_entry;    y = 1.0 / (1.0 + exp (-x));    printf ("  %.20f%s\n", y, i == num_entries - 1 ? "" : ",");  }  printf ("};\n");  return 0;}

⌨️ 快捷键说明

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