ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

VBA Ãþ¯«¸g¹Bºâ ¨D§U

VBA Ãþ¯«¸g¹Bºâ ¨D§U

¥»©«³Ì«á¥Ñ qwertyuio111 ©ó 2015-11-20 10:26 ½s¿è

¦U¦ì °ª¤â ±z¦n
¤p§Ì³Ìªñ¦b¾Ç®Õ¡Aªì¾ÇExcel ¢ä¢Ð¢Ï¨Ï¥Î¦bÃþ¯«¸gªº¹Bºâ¼ÒÀÀ¤W¡C
¦¹Ãþ¯«¸g¼ÒÀÀ¬O¥H ¡u5 x 8 x 5 x 2 ¡vªº¤è¦¡¶i¦æ¡A¿é¤J5­Ó¤wª¾­È¡A¦A³z¹L¨â­ÓÁôÂüh¡]8,5¡^¹Bºâ¡A¨D±o2­Ó¥Ø¼Ð­È¿é¥X¡C
³z¹L¤wª¾ªº¼Æ¾Ú¡]¿é¤J­È¡A¥Ø¼Ð­È¡^¡A¦]¦¹·|¨D±o 90­Ó ¼ÒÀÀ´`Àô²£¥Í¤§·s¢å¡C

¦¹µ{¦¡½X ¹B§@¤@¶}©l¬O¥H ²£¥Í¤@²Õ¶Ã¼Æ¢å ¤§«á©T©w¡A¦A¿é¤J­È¤Î¥Ø¼Ð­È«á¡A³z¹L¹Bºâ °j°é¤½¦¡ ¨D±o¼ÒÀÀ«áªº·s¢å¡C
µo²{°j°éµ{¦¡½X¹L»P¤¾ªø¡A¸g¬d¸ê®Æµo²{¨Ï¥Î¡u°}¦C¹Bºâ¡v©Î³\¥i¦æ¡A¦ý©l²×µLªk¥¿½Tªº¼g¥X¨Ó¡C
©|¥B­«½Æ©Êªº¦b¸ê®Æªí¤¤¡A¡u¿é¤J¤ÎŪ¨ú Àx¦s®æªº­È¡v¡A³y¦¨°j°é¹Bºâªº½wºC¡A¤Î¼È¦s°O¾ÐÅ骺¤£¨¬§Î¦¨·í¾÷¡C
¨D§U¦U¦ì°ª¤â ¯à§_À°§U¤Î±Ð¾É¤p§Ì ¸Ñ¨M³o¤è­±ªº°ÝÃD¡C

¦b¦¹©^¤W Excel ¸ê®Æªí ¨D§U ÁÂÁ ¡]¦]µLªkª½±µ¤W¶Ç excelÀÉ®× ©Ò¥H§Q¥Î google ¶³ºÝ¡^

Excel Ãþ¯«¸g¹Bºâ¼ÒÀÀÀÉ®×

¦^´_ 1# qwertyuio111
¬°¤°»ò§AªºW­n³]­p¦¨9X10ªº°}¦C
¦Ó¤£¬O 5x8¡B8x5¡B5x2¡A¤T­Ó°}¦C
ªí¹F¤£²M¡BÃD·N¤£©ú½T¡B¨SªþÀɮ׮榡¡B¨S¦³°Q½×°ÝÃDªººA«×~~~~~~¥H¤W·R²ö¯à§U¡C

TOP

¦^´_ 2# stillfish00


    °Ú°Ú¡A¬OÀ³¸Ó¨º¼Ë¤l°µ¤~¹ï¶Ü¡H
·íªì¦]¬°·Q¨ì·|³z¹L«e¤@­ÓÁôÂühªº¡u»~®t­È¡v¡A­«·s¹Bºâ ·sªº¢å²£¥Í¡C
©Ò¥H¨S¦³¦Ò¼{¨ì§â°}¦C©î¶}¹Bºâªº¹Lµ{¡C

¨º§ÚÀ³¸Ó­n«ç»ò°µ¤~¥¿½T©O¡H

¬O¤£¬OÀ³¸Ó§â °j°é©î¦¨ ¤T­Ó³¡¤À¨Ó¼g ³o¼Ë¤ñ¸û§´·í¡H

§Ú·Q¸Ñ¨M ­«½Æ Ū¨ú ¤Î ¿é¤J ¦bÀx¦s®æ¤Wªº¨BÆJ¡A¦]¬°·|³y¦¨¹Bºâ¤Wªº½wºC...
¥ý ÁÂÁ¤j¤j «ü¾É

TOP

°j°é¹Bºâµ{¦¡½X °O¾ÐÅéÄÀ©ñ¡]¨D¸Ñ¡^

¥»©«³Ì«á¥Ñ qwertyuio111 ©ó 2015-11-21 19:31 ½s¿è

¤j®a¦n §Ú¦³­Ó°j°é¼ÒÀÀ¹Bºâªº°ÝÃD
·|¦³¦Û¦æ¿é¤J¹Bºâ¦¸¼Æ¡]Worksheets("Sheet1").Range("J9")¡^
¦]¬°­«½Æ ¡uŪ¨ú¡v¤Î¡u¿é¤J¡v¼Æ­Èªº¹Lµ{¡A³y¦¨°O¾ÐÅ餣¨¬¡C
½Ð°Ý ­n¼W¥[­þ­Óµ{¦¡½X©Î§ï¦¨«ç»ò¼Ëªº¼gªk·|¤ñ¸û¦n©O¡H
¤~¯à°÷¸Ñ¨M °O¾ÐÅ餣¨¬ªº°ÝÃD§r¡H
¥H¤U¬°³¡¤Àµ{¦¡½X
  1. For i = 2 To Worksheets("Sheet1").Range("J9")
  2. intA = Worksheets("Sheet1").Range("B1")
  3. intB = Worksheets("Sheet1").Range("B2")
  4. intc = Worksheets("Sheet1").Range("B3")
  5. intD = Worksheets("Sheet1").Range("B4")
  6. intE = Worksheets("Sheet1").Range("B5")
  7. tarn = Worksheets("Sheet1").Range("L6")
  8. taro = Worksheets("Sheet1").Range("L7")

  9. neww1 = Worksheets("Sheet1").Range("A24")
  10. neww2 = Worksheets("Sheet1").Range("A25")
  11. neww3 = Worksheets("Sheet1").Range("A26")
  12. neww4 = Worksheets("Sheet1").Range("A27")
  13. neww5 = Worksheets("Sheet1").Range("A28")
  14. neww6 = Worksheets("Sheet1").Range("A29")
  15. neww7 = Worksheets("Sheet1").Range("A30")
  16. neww8 = Worksheets("Sheet1").Range("A31")
  17. neww9 = Worksheets("Sheet1").Range("A32")

  18. neww10 = Worksheets("Sheet1").Range("B24")
  19. neww11 = Worksheets("Sheet1").Range("B25")
  20. neww12 = Worksheets("Sheet1").Range("B26")
  21. neww13 = Worksheets("Sheet1").Range("B27")
  22. neww14 = Worksheets("Sheet1").Range("B28")
  23. neww15 = Worksheets("Sheet1").Range("B29")
  24. neww16 = Worksheets("Sheet1").Range("B30")
  25. neww17 = Worksheets("Sheet1").Range("B31")
  26. neww18 = Worksheets("Sheet1").Range("B32")

  27. neww19 = Worksheets("Sheet1").Range("C24")
  28. neww20 = Worksheets("Sheet1").Range("C25")
  29. neww21 = Worksheets("Sheet1").Range("C26")
  30. neww22 = Worksheets("Sheet1").Range("C27")
  31. neww23 = Worksheets("Sheet1").Range("C28")
  32. neww24 = Worksheets("Sheet1").Range("C29")
  33. neww25 = Worksheets("Sheet1").Range("C30")
  34. neww26 = Worksheets("Sheet1").Range("C31")
  35. neww27 = Worksheets("Sheet1").Range("C32")

  36. neww28 = Worksheets("Sheet1").Range("D24")
  37. neww29 = Worksheets("Sheet1").Range("D25")
  38. neww30 = Worksheets("Sheet1").Range("D26")
  39. neww31 = Worksheets("Sheet1").Range("D27")
  40. neww32 = Worksheets("Sheet1").Range("D28")
  41. neww33 = Worksheets("Sheet1").Range("D29")
  42. neww34 = Worksheets("Sheet1").Range("D30")
  43. neww35 = Worksheets("Sheet1").Range("D31")
  44. neww36 = Worksheets("Sheet1").Range("D32")

  45. neww37 = Worksheets("Sheet1").Range("E24")
  46. neww38 = Worksheets("Sheet1").Range("E25")
  47. neww39 = Worksheets("Sheet1").Range("E26")
  48. neww40 = Worksheets("Sheet1").Range("E27")
  49. neww41 = Worksheets("Sheet1").Range("E28")
  50. neww42 = Worksheets("Sheet1").Range("E29")
  51. neww43 = Worksheets("Sheet1").Range("E30")
  52. neww44 = Worksheets("Sheet1").Range("E31")
  53. neww45 = Worksheets("Sheet1").Range("E32")

  54. neww46 = Worksheets("Sheet1").Range("F24")
  55. neww47 = Worksheets("Sheet1").Range("F25")
  56. neww48 = Worksheets("Sheet1").Range("F26")
  57. neww49 = Worksheets("Sheet1").Range("F27")
  58. neww50 = Worksheets("Sheet1").Range("F28")
  59. neww51 = Worksheets("Sheet1").Range("F29")
  60. neww52 = Worksheets("Sheet1").Range("F30")
  61. neww53 = Worksheets("Sheet1").Range("F31")
  62. neww54 = Worksheets("Sheet1").Range("F32")

  63. neww55 = Worksheets("Sheet1").Range("G24")
  64. neww56 = Worksheets("Sheet1").Range("G25")
  65. neww57 = Worksheets("Sheet1").Range("G26")
  66. neww58 = Worksheets("Sheet1").Range("G27")
  67. neww59 = Worksheets("Sheet1").Range("G28")
  68. neww60 = Worksheets("Sheet1").Range("G29")
  69. neww61 = Worksheets("Sheet1").Range("G30")
  70. neww62 = Worksheets("Sheet1").Range("G31")
  71. neww63 = Worksheets("Sheet1").Range("G32")

  72. neww64 = Worksheets("Sheet1").Range("H24")
  73. neww65 = Worksheets("Sheet1").Range("H25")
  74. neww66 = Worksheets("Sheet1").Range("H26")
  75. neww67 = Worksheets("Sheet1").Range("H27")
  76. neww68 = Worksheets("Sheet1").Range("H28")
  77. neww69 = Worksheets("Sheet1").Range("H29")
  78. neww70 = Worksheets("Sheet1").Range("H30")
  79. neww71 = Worksheets("Sheet1").Range("H31")
  80. neww72 = Worksheets("Sheet1").Range("H32")

  81. neww73 = Worksheets("Sheet1").Range("I24")
  82. neww74 = Worksheets("Sheet1").Range("I25")
  83. neww75 = Worksheets("Sheet1").Range("I26")
  84. neww76 = Worksheets("Sheet1").Range("I27")
  85. neww77 = Worksheets("Sheet1").Range("I28")
  86. neww78 = Worksheets("Sheet1").Range("I29")
  87. neww79 = Worksheets("Sheet1").Range("I30")
  88. neww80 = Worksheets("Sheet1").Range("I31")
  89. neww81 = Worksheets("Sheet1").Range("I32")

  90. neww82 = Worksheets("Sheet1").Range("J24")
  91. neww83 = Worksheets("Sheet1").Range("J25")
  92. neww84 = Worksheets("Sheet1").Range("J26")
  93. neww85 = Worksheets("Sheet1").Range("J27")
  94. neww86 = Worksheets("Sheet1").Range("J28")
  95. neww87 = Worksheets("Sheet1").Range("J29")
  96. neww88 = Worksheets("Sheet1").Range("J30")
  97. neww89 = Worksheets("Sheet1").Range("J31")
  98. neww90 = Worksheets("Sheet1").Range("J32")

  99. inta1 = (intA * neww1) + (intB * neww9) + (intc * neww17) + (intD * neww25) + (intE * neww33)
  100. outa1 = 1 / (1 + Exp(-inta1))

  101. intb1 = (intA * neww2) + (intB * neww10) + (intc * neww18) + (intD * neww26) + (intE * neww34)
  102. outb1 = 1 / (1 + Exp(-intb1))

  103. intc1 = (intA * neww3) + (intB * neww11) + (intc * neww19) + (intD * neww27) + (intE * neww35)
  104. outc1 = 1 / (1 + Exp(-intc1))

  105. intd1 = (intA * neww4) + (intB * neww12) + (intc * neww20) + (intD * neww28) + (intE * neww36)
  106. outd1 = 1 / (1 + Exp(-intd1))

  107. inte1 = (intA * neww5) + (intB * neww13) + (intc * neww21) + (intD * neww29) + (intE * neww37)
  108. oute1 = 1 / (1 + Exp(-inte1))

  109. intf1 = (intA * neww6) + (intB * neww14) + (intc * neww22) + (intD * neww30) + (intE * neww38)
  110. outf1 = 1 / (1 + Exp(-intf1))

  111. intg1 = (intA * neww7) + (intB * neww15) + (intc * neww23) + (intD * neww31) + (intE * neww39)
  112. outg1 = 1 / (1 + Exp(-intg1))

  113. inth1 = (intA * neww8) + (intB * neww16) + (intc * neww24) + (intD * neww32) + (intE * neww40)
  114. outh1 = 1 / (1 + Exp(-inth1))

  115. Worksheets("Sheet1").Range("D1") = inta1
  116. Worksheets("Sheet1").Range("F1") = outa1
  117. Worksheets("Sheet1").Range("D2") = intb1
  118. Worksheets("Sheet1").Range("F2") = outb1
  119. Worksheets("Sheet1").Range("D3") = intc1
  120. Worksheets("Sheet1").Range("F3") = outc1
  121. Worksheets("Sheet1").Range("D4") = intd1
  122. Worksheets("Sheet1").Range("F4") = outd1
  123. Worksheets("Sheet1").Range("D5") = inte1
  124. Worksheets("Sheet1").Range("F5") = oute1
  125. Worksheets("Sheet1").Range("D6") = intf1
  126. Worksheets("Sheet1").Range("F6") = outf1
  127. Worksheets("Sheet1").Range("D7") = intg1
  128. Worksheets("Sheet1").Range("F7") = outg1
  129. Worksheets("Sheet1").Range("D8") = inth1
  130. Worksheets("Sheet1").Range("F8") = outh1

  131. inti1 = (outa1 * neww41) + (outb1 * neww46) + (outc1 * neww51) + (outd1 * neww56) + (oute1 * neww61) + (outf1 * neww66) + (outg1 * neww71) + (outh1 * neww76)
  132. outi1 = 1 / (1 + Exp(-inti1))

  133. intj1 = (outa1 * neww42) + (outb1 * neww47) + (outc1 * neww52) + (outd1 * neww57) + (oute1 * neww62) + (outf1 * neww67) + (outg1 * neww72) + (outh1 * neww77)
  134. outj1 = 1 / (1 + Exp(-intj1))

  135. intk1 = (outa1 * neww43) + (outb1 * neww48) + (outc1 * neww53) + (outd1 * neww58) + (oute1 * neww63) + (outf1 * neww68) + (outg1 * neww73) + (outh1 * neww78)
  136. outk1 = 1 / (1 + Exp(-intk1))

  137. intl1 = (outa1 * neww44) + (outb1 * neww49) + (outc1 * neww54) + (outd1 * neww59) + (oute1 * neww64) + (outf1 * neww69) + (outg1 * neww74) + (outh1 * neww79)
  138. outl1 = 1 / (1 + Exp(-intl1))

  139. intm1 = (outa1 * neww45) + (outb1 * neww50) + (outc1 * neww55) + (outd1 * neww60) + (oute1 * neww65) + (outf1 * neww70) + (outg1 * neww75) + (outh1 * neww80)
  140. outm1 = 1 / (1 + Exp(-intm1))

  141. Worksheets("Sheet1").Range("H1") = inti1
  142. Worksheets("Sheet1").Range("J1") = outi1
  143. Worksheets("Sheet1").Range("H2") = intj1
  144. Worksheets("Sheet1").Range("J2") = outj1
  145. Worksheets("Sheet1").Range("H3") = intk1
  146. Worksheets("Sheet1").Range("J3") = outk1
  147. Worksheets("Sheet1").Range("H4") = intl1
  148. Worksheets("Sheet1").Range("J4") = outl1
  149. Worksheets("Sheet1").Range("H5") = intm1
  150. Worksheets("Sheet1").Range("J5") = outm1

  151. intn1 = (outi1 * neww81) + (outj1 * neww83) + (outk1 * neww85) + (outl1 * neww87) + (outm1 * neww89)
  152. outn1 = 1 / (1 + Exp(-intn1))

  153. into1 = (outi1 * neww82) + (outj1 * neww84) + (outk1 * neww86) + (outl1 * neww88) + (outm1 * neww90)
  154. outo1 = 1 / (1 + Exp(-into1))

  155. Worksheets("Sheet1").Range("L1") = intn1
  156. Worksheets("Sheet1").Range("N1") = outn1
  157. Worksheets("Sheet1").Range("L2") = into1
  158. Worksheets("Sheet1").Range("N2") = outo1

  159. errn = outn1 * (1 - outn1) * (tarn - outn1)
  160. erro = outo1 * (1 - outo1) * (taro - outo1)

  161. Worksheets("Sheet1").Range("N5") = errn
  162. Worksheets("Sheet1").Range("N6") = erro

  163. neww81 = neww81 + (errn * outi1)
  164. neww82 = neww82 + (erro * outi1)
  165. neww83 = neww83 + (errn * outj1)
  166. neww84 = neww84 + (erro * outj1)
  167. neww85 = neww85 + (errn * outk1)
  168. neww86 = neww86 + (erro * outk1)
  169. neww87 = neww87 + (errn * outl1)
  170. neww88 = neww88 + (erro * outl1)
  171. neww89 = neww89 + (errn * outm1)
  172. neww90 = neww90 + (erro * outm1)

  173. erri = outi1 * (1 - outi1) * (errn * neww81 + erro * neww82)
  174. errj = outj1 * (1 - outj1) * (errn * neww83 + erro * neww84)
  175. errk = outk1 * (1 - outk1) * (errn * neww85 + erro * neww86)
  176. errl = outl1 * (1 - outl1) * (errn * neww87 + erro * neww88)
  177. errm = outm1 * (1 - outm1) * (errn * neww89 + erro * neww90)

  178. Worksheets("Sheet1").Range("P5") = erri
  179. Worksheets("Sheet1").Range("P6") = errj
  180. Worksheets("Sheet1").Range("P7") = errk
  181. Worksheets("Sheet1").Range("P8") = errl
  182. Worksheets("Sheet1").Range("P9") = errm

  183. neww41 = neww41 + (erri * outa1)
  184. neww42 = neww42 + (errj * outa1)
  185. neww43 = neww43 + (errk * outa1)
  186. neww44 = neww44 + (errl * outa1)
  187. neww45 = neww45 + (errm * outa1)
  188. neww46 = neww46 + (erri * outb1)
  189. neww47 = neww47 + (errj * outb1)
  190. neww48 = neww48 + (errk * outb1)
  191. neww49 = neww49 + (errl * outb1)
½Æ»s¥N½X

TOP

¦^´_ 4# qwertyuio111

ª©¥D GBKEE
  ¤p§Ì §Ú¤wªþ¤WExcel À£ÁYÀÉ®×
¨D¸Ñ ¢ß¢Ï¢ß¡ã¡ãÁÂÁÂ

Ãþ¯«¸gÂX¥R °j°é¹Bºâ.zip (56.13 KB)

TOP

¦^´_ 5# qwertyuio111
¥i§_¸Ô»¡, Ãþ¯«¸g¹Bºâ ¤½¦¡ªº³W«ßÅÞ¿è.
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 6# GBKEE


    Ãþ¯«¸gºô¸ô ¬O¤@ºØ¼ÒÀÀ¹BºâªºÅÞ¿è¡AÂǥѼÒÀÀ¹Bºâ¤Î°V½mªº¹Lµ{§ä¨ì¥i¯à¸Ñªº²£¥Í¡C

¦p¹Ï©Ò¥Ü


µM¦Ó¦b°V½mªº¹Lµ{¡A¥²³z¹L¤wª¾ªº¸ê®Æ(¿é¤J¼hªº¼Æ­È¥H¤Î¿é¥X¼h¤§¥Ø¼Ð­È)­«ÂйBºâ»~®t­È¡A¥h¨D¥XÁôÂüh©Ò¦ûªº¤ñ­«¡C


¹Bºâ¦¡ªºªøµu·|¦]¬°¼h¼Æ¤Î ¿é¤J¼Æ¥Øªº¤£¦P¦Ó¦³©Ò§ïÅÜ¡C
¥Øªº¬O§ä¥X¸g¹L³\¦h¤wª¾¸ê®Æ©Ò¼ÒÀÀ¥X³Ì¨Îw¡C¦AÀò±o·sªº¸ê®Æ®É¡A¿é¤J«á³z¹L¹Bºâ(w)¨D±o³Ì¨Îªºoutpot¿é¥X
ªþ¤W¹Ï¤ù¨ÒÃDªº¹Bºâexcel
Ãþ¯«¸g¨ÒÃD(°j°é¹Bºâ).zip (133.49 KB)

TOP

¦^´_ 7# qwertyuio111


­×§ï§Aªºµ{¦¡½X ¸Õ¸Õ¬Ý
  1. Option Explicit  '¦b¼Ò²Õ¼h¦¸¤¤±j­¢¨C­Ó¦b¼Ò²ÕùتºÅܼƳ£¥²¶·©ú½Tªº«Å§i
  2. Sub test()
  3.     Dim Sh As Worksheet, w(), i As Integer
  4.     Dim out As Single, ina1 As Single, inb1 As Single, ina2 As Single, outa2 As Single
  5.     Dim inc As Single, outc As Single, oute As Single, oute1 As Single, oute2 As Single
  6.     Dim inb2 As Single, outb2 As Single
  7.     Set Sh = Sheets("Sheet1")
  8.     out = Sh.Cells(1, 2)
  9.     ina1 = Sh.Cells(3, 2)
  10.     inb1 = Sh.Cells(5, 2)
  11.     w = Application.WorksheetFunction.Transpose(Sh.Range("b7").Resize(6))
  12.    
  13.     ina2 = (ina1 * w(3)) + (inb1 * w(4))
  14.     outa2 = 1 / (1 + Exp(-ina2))
  15.     inb2 = (ina1 * w(5)) + (inb1 * w(6))
  16.     outb2 = 1 / (1 + Exp(-inb2))
  17.     inc = (outa2 * w(1)) + (outb2 * w(2))
  18.     outc = 1 / (1 + Exp(-inc))
  19.     oute = (out - outc) * (1 - outc) * (outc)
  20.     w(1) = w(1) + (oute * outa2)
  21.     w(2) = w(2) + (oute * outb2)
  22.     oute1 = oute * w(1) * (1 - outa2) * outa2
  23.     oute2 = oute * w(2) * (1 - outb2) * outb2
  24.     w(3) = w(3) + (oute1 * ina1)
  25.     w(4) = w(4) + (oute1 * inb1)
  26.     w(5) = w(5) + (oute2 * ina1)
  27.     w(6) = w(6) + (oute2 * inb1)
  28. '***********************************************
  29.     For i = 2 To 300
  30.         ina2 = (ina1 * w(3)) + (inb1 * w(4))
  31.         outa2 = 1 / (1 + Exp(-ina2))
  32.         inb2 = (ina1 * w(5)) + (inb1 * w(6))
  33.         outb2 = 1 / (1 + Exp(-inb2))
  34.         inc = (outa2 * w(1)) + (outb2 * w(2))
  35.         outc = 1 / (1 + Exp(-inc))
  36.         oute = (out - outc) * (1 - outc) * (outc)
  37.         w(1) = w(1) + (oute * outa2)
  38.         w(2) = w(2) + (oute * outb2)
  39.         oute1 = oute * w(1) * (1 - outa2) * outa2
  40.         oute2 = oute * w(2) * (1 - outb2) * outb2
  41.         w(3) = w(3) + (oute1 * ina1)
  42.         w(4) = w(4) + (oute1 * inb1)
  43.         w(5) = w(5) + (oute2 * ina1)
  44.         w(6) = w(6) + (oute2 * inb1)
  45.     Next
  46.     ''''''''''''''''''''''''''''
  47.     With Sh
  48.         .Cells(14, 2) = ina2
  49.         .Cells(15, 2) = outa2
  50.         .Cells(17, 2) = inb2
  51.         .Cells(18, 2) = outb2
  52.         .Cells(20, 2) = inc
  53.         .Cells(21, 2) = outc
  54.         '''''''''''''''''''''''''''''
  55.         .Cells(23, 2) = oute
  56.         .Cells(25, 2) = w(1)
  57.         .Cells(26, 2) = w(2)
  58.         ''''''''''''''''''''''''
  59.         .Cells(29, 2) = oute1
  60.         .Cells(30, 2) = oute2
  61.         ''''''''''''''''''''
  62.         .Cells(32, 2) = w(3)
  63.         .Cells(33, 2) = w(4)
  64.         .Cells(34, 2) = w(5)
  65.         .Cells(35, 2) = w(6)
  66.     End With
  67. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2015-11-24 11:32 ½s¿è

¦^´_ 7# qwertyuio111
¸Õ¸Õ¬Ý (¨Ì¾Ú§Aªºµ{¦¡½X­×§ï)¡G
  1. Sub Ãþ¯«¸g¹Bºâ()
  2.     Dim lowerRange, upperRange, myRange, myCell As Range, cts As Integer, nxt As Integer
  3.     Dim rp5 As Integer, bf1 As Integer
  4.    
  5.     With Sheets("Sheet1")
  6.         Set lowerRange = .Range("C11")
  7.         Set upperRange = .Range("C10")
  8.         lowerRange.Name = "lowerbound"
  9.         upperRange.Name = "upperbound"
  10.         Set myRange = .Range("A13:J21")

  11.         For Each myCell In myRange
  12.             myCell.Formula = "=RANDBETWEEN(lowerbound,upperbound)/10"
  13.         Next
  14.    
  15.        .[A23] = "´`Àô¢å"
  16.            
  17.        For cts = 0 To 7     '  inta1 = (intA * w1) + (intB * w9) + (intc * w17) + (intD * w25) + (intE * w33)
  18.            .[D1].Offset(cts) = (.[B1] * .[A13].Offset(cts)) + (.[B2] * IIf(cts = 0, .[A21], .[B12].Offset(cts))) + (.[B3] * IIf(cts <= 1, .[B20], .[C11].Offset(cts)) + (.[B4] * IIf(cts <= 2, .[C19], .[D10].Offset(cts)))) + (.[B5] * IIf(cts <= 3, .[D18], .[E9].Offset(cts)))
  19.            .[F1].Offset(cts) = 1 / (1 + Exp(-.[D1].Offset(cts)))   '  outa1 = 1 / (1 + Exp(-inta1))
  20.        Next cts

  21.        For cts = 0 To 4     '  inti1 = (outa1 * w41) + (outb1 * w46) + (outc1 * w51) + (outd1 * w56) + (oute1 * w61) + (outf1 * w66) + (outg1 * w71) + (outh1 * w76)
  22.            .[H1].Offset(cts) = (.[F1] * .[E17].Offset(cts)) + (.[F2] * .[F13].Offset(cts)) + (.[F3] * IIf(cts = 4, .[G13], .[F18].Offset(cts))) + (.[F4] * .[G14].Offset(cts)) + (.[F5] * IIf(cts > 2, .[H10].Offset(cts), .[G19].Offset(cts))) + (.[F6] * .[H15].Offset(cts)) + (.[F7] * IIf(cts > 1, .[I11].Offset(cts), .[H20].Offset(cts))) + (.[F8] * .[I16].Offset(cts))
  23.            .[J1].Offset(cts) = 1 / (1 + Exp(-.[H1].Offset(cts)))     '  outi1 = 1 / (1 + Exp(-inti1))
  24.        Next cts
  25.    
  26.        For cts = 0 To 1     '  intn1 = (outi1 * w81) + (outj1 * w83) + (outk1 * w85) + (outl1 * w87) + (outm1 * w89)
  27.            .[L1].Offset(cts) = (.[J1] * IIf(cts = 0, .[I21], .[J13])) + (.[J2] * .[J14].Offset(cts)) + (.[J3] * .[J16].Offset(cts)) + (.[J4] * .[J18].Offset(cts)) + (.[J5] * .[J20].Offset(cts))
  28.            .[N1].Offset(cts) = 1 / (1 + Exp(-.[L1].Offset(cts)))     '  outn1 = 1 / (1 + Exp(-intn1))
  29.        Next cts
  30.       
  31.        For cts = 0 To 1     '  errn = outn1 * (1 - outn1) * (tarn - outn1) ,   erro = outo1 * (1 - outo1) * (taro - outo1)
  32.            .[N5].Offset(cts) = .[N1].Offset(cts) * (1 - .[N1].Offset(cts)) * (.[L6].Offset(cts) - .[N1].Offset(cts))
  33.        Next cts
  34.       
  35.        For cts = 0 To 4     '  erri = outi1 * (1 - outi1) * (errn * w81 + erro * w82)   ~   errm = outm1 * (1 - outm1) * (errn * w89 + erro * w90)
  36.            .[P5].Offset(cts) = .[J1].Offset(cts) * (1 - .[J1].Offset(cts)) * (.[N5] * IIf(cts = 0, .[I21], .[J9].Offset(cts * 2 + 1))) + (.[N6] * .[J11].Offset(cts * 2 + 2))
  37.        Next cts
  38.       
  39.        For cts = 0 To 7     '  erra = outa1 * (1 - outa1) * (erri * w41 + errj * w42 + errk * w43 + errl * w44 + errm * w45)
  40.             .Range("Z1:Z5").Clear    '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È
  41.             
  42.             If (cts = 7) Then       '  7
  43.                .[Z1] = .[I16]
  44.                .[Z2] = .[I17]
  45.             ElseIf (cts > 4) Then   '  5,6
  46.                .[Z1] = .[H15].Offset((cts - 5) * 5)
  47.                .[Z2] = .[H16].Offset((cts - 5) * 5)
  48.             ElseIf (cts > 2) Then   '  3,4
  49.                .[Z1] = .[G14].Offset((cts - 3) * 5)
  50.                .[Z2] = .[G15].Offset((cts - 3) * 5)
  51.             ElseIf (cts = 0) Then   '  0
  52.                .[Z1] = .[E17]
  53.                .[Z2] = .[E18]
  54.                .[Z3] = .[E19]
  55.             Else                    '  1,2
  56.                .[Z1] = .[F13].Offset((cts - 1) * 5)
  57.                .[Z2] = .[F14].Offset((cts - 1) * 5)
  58.             End If

  59.             If (cts > 5) Then       '  6,7
  60.                .[Z3] = .[I13].Offset((cts - 6) * 5)
  61.                .[Z4] = .[I14].Offset((cts - 6) * 5)
  62.                .[Z5] = .[I15].Offset((cts - 6) * 5)
  63.             ElseIf (cts = 5) Then   '  5
  64.                .[Z3] = .[H17]
  65.                .[Z4] = .[H13].Offset((cts - 5) * 5)
  66.                .[Z5] = .[H14].Offset((cts - 5) * 5)
  67.             ElseIf (cts > 3) Then    '  4
  68.                .[Z3] = .[G16].Offset((cts - 4) * 5)
  69.                .[Z4] = .[H13].Offset((cts - 4) * 5)
  70.                .[Z5] = .[H14].Offset((cts - 4) * 5)
  71.             ElseIf (cts = 3) Then    '  3
  72.                .[Z3] = .[G16].Offset((cts - 3) * 5)
  73.                .[Z4] = .[G15]
  74.                .[Z5] = .[H14].Offset((cts - 3) * 5)
  75.             ElseIf (cts > 1) Then    '  2
  76.                .[Z3] = .[F15].Offset((cts - 2) * 5)
  77.                .[Z4] = .[F16].Offset((cts - 2) * 5)
  78.                .[Z5] = .[G13].Offset((cts - 2) * 5)
  79.             ElseIf (cts = 0) Then    '  0
  80.                .[Z3] = .[E19]
  81.                .[Z4] = .[E20]
  82.                .[Z5] = .[E21]
  83.             Else                      '  1
  84.                .[Z3] = .[F15].Offset((cts - 1) * 5)
  85.                .[Z4] = .[F16].Offset((cts - 1) * 5)
  86.                .[Z5] = .[F17]
  87.             End If
  88.             
  89.             
  90.             .[R5].Offset(cts) = .[F1].Offset(cts) * (1 - .[F1].Offset(cts)) * (.[P5] * .[Z1] + .[P6] * .[Z2] + .[P7] * .[Z3] + .[P8] * .[Z4] + .[P9] * .[Z5])
  91.             '  ÀËÅç´ú¸Õµ²ªG
  92.             '  .[V10].Offset(cts) = .[Z1]
  93.             '  .[V10].Offset(cts, 1) = .[Z2]
  94.             '  .[V10].Offset(cts, 2) = .[Z3]
  95.             '  .[V10].Offset(cts, 3) = .[Z4]
  96.             '  .[V10].Offset(cts, 4) = .[Z5]
  97.        Next cts
  98.    
  99.        .Range("Z1:Z5").Clear         '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È
  100.        '  .Range("V10:Z17").Clear    '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È

  101.        rp5 = -1: bf1 = 0
  102.        For nxt = 0 To 9         '  neww1 = w1 + (erra * intA)   ~  neww54 = w54 + (errl * outc1)
  103.            For cts = 0 To 8
  104.                rp5 = rp5 + 1

  105.                If ((nxt * 9 + cts + 1) > 80) Then          '  neww81 = w81 + (errn * outi1) ~ neww90 = w90 + (erro * outm1)
  106.                    If ((nxt * 9 + cts + 1) = 81) Then
  107.                        rp5 = 0
  108.                        bf1 = 0
  109.                    End If
  110.                   
  111.                    .[A24].Offset(cts, nxt) = .[A13].Offset(cts) + (.[N5].Offset(rp5) * .[J1].Offset(bf1))
  112.                   
  113.                    If (rp5 = 1) Then
  114.                        rp5 = -1
  115.                        bf1 = bf1 + 1
  116.                    End If
  117.                ElseIf ((nxt * 9 + cts + 1) > 40) Then      '  neww41 = w41 + (erri * outa1) ~ neww80 = w80 + (errm * outh1)
  118.                    If ((nxt * 9 + cts + 1) = 41) Then
  119.                        rp5 = 0
  120.                        bf1 = 0
  121.                    End If
  122.                   
  123.                    .[A24].Offset(cts, nxt) = .[A13].Offset(cts) + (.[P5].Offset(rp5) * .[F1].Offset(bf1))
  124.                   
  125.                    If (rp5 = 4) Then
  126.                        rp5 = -1
  127.                        bf1 = bf1 + 1
  128.                    End If
  129.                Else                                        '  neww1 = w1 + (erra * intA) ~ neww40 = w40 + (errh * intE)
  130.                    .[A24].Offset(cts, nxt) = .[A13].Offset(cts) + (.[R5].Offset(rp5) * .[B1].Offset(bf1))
  131.                   
  132.                    If (rp5 = 7) Then
  133.                        rp5 = -1
  134.                        bf1 = bf1 + 1
  135.                    End If
  136.                End If
  137.            Next cts
  138.        Next nxt
  139.    End With
  140.   Ãþ¯«¸gÂX¥R°j°é¹Bºâ
  141. End Sub
½Æ»s¥N½X

TOP

¦^´_ 7# qwertyuio111
  1. Sub Ãþ¯«¸gÂX¥R°j°é¹Bºâ()
  2.     Dim cts As Integer, nxt As Integer
  3.     Dim rp5 As Integer, bf1 As Integer, i As Integer
  4.    
  5.     With Sheets("Sheet1")
  6.        For i = 2 To 150    ' 1500
  7.            .[A23] = "´`Àô¢å (" & i & ")"
  8.            For cts = 0 To 7     '  inta1 = (intA * neww1) + (intB * neww9) + (intc * neww17) + (intD * neww25) + (intE * neww33)
  9.                .[D1].Offset(cts) = (.[B1] * .[A24].Offset(cts)) + (.[B2] * IIf(cts = 0, .[A32], .[B23].Offset(cts))) + (.[B3] * IIf(cts <= 1, .[B31], .[C22].Offset(cts)) + (.[B4] * IIf(cts <= 2, .[C30], .[D21].Offset(cts)))) + (.[B5] * IIf(cts <= 3, .[D29], .[E20].Offset(cts)))
  10.                .[F1].Offset(cts) = 1 / (1 + Exp(-.[D1].Offset(cts)))   '  outa1 = 1 / (1 + Exp(-inta1))
  11.            Next cts

  12.            For cts = 0 To 4     '  inti1 = (outa1 * neww41) + (outb1 * neww46) + (outc1 * neww51) + (outd1 * neww56) + (oute1 * neww61) + (outf1 * neww66) + (outg1 * neww71) + (outh1 * neww76)
  13.            .[H1].Offset(cts) = (.[F1] * .[E28].Offset(cts)) + (.[F2] * .[F24].Offset(cts)) + (.[F3] * IIf(cts = 4, .[G24], .[F29].Offset(cts))) + (.[F4] * .[G25].Offset(cts)) + (.[F5] * IIf(cts > 2, .[H21].Offset(cts), .[G30].Offset(cts))) + (.[F6] * .[H26].Offset(cts)) + (.[F7] * IIf(cts > 1, .[I22].Offset(cts), .[H31].Offset(cts))) + (.[F8] * .[I27].Offset(cts))
  14.                .[J1].Offset(cts) = 1 / (1 + Exp(-.[H1].Offset(cts)))     '  outi1 = 1 / (1 + Exp(-inti1))
  15.            Next cts
  16.    
  17.            For cts = 0 To 1     '  intn1 = (outi1 * neww81) + (outj1 * neww83) + (outk1 * neww85) + (outl1 * neww87) + (outm1 * neww89)
  18.                .[L1].Offset(cts) = (.[J1] * IIf(cts = 0, .[I32], .[J24])) + (.[J2] * .[J25].Offset(cts)) + (.[J3] * .[J27].Offset(cts)) + (.[J4] * .[J29].Offset(cts)) + (.[J5] * .[J31].Offset(cts))
  19.                .[N1].Offset(cts) = 1 / (1 + Exp(-.[L1].Offset(cts)))     '  outn1 = 1 / (1 + Exp(-intn1))
  20.            Next cts
  21.       
  22.            For cts = 0 To 1     '  errn = outn1 * (1 - outn1) * (tarn - outn1) ,   erro = outo1 * (1 - outo1) * (taro - outo1)
  23.                .[N5].Offset(cts) = .[N1].Offset(cts) * (1 - .[N1].Offset(cts)) * (.[L6].Offset(cts) - .[N1].Offset(cts))
  24.            Next cts
  25.       
  26.            For cts = 0 To 4     '  erri = outi1 * (1 - outi1) * (errn * neww81 + erro * neww82)   ~   errm = outm1 * (1 - outm1) * (errn * neww89 + erro * neww90)
  27.                .[P5].Offset(cts) = .[J1].Offset(cts) * (1 - .[J1].Offset(cts)) * (.[N5] * IIf(cts = 0, .[I32], .[J20].Offset(cts * 2 + 1))) + (.[N6] * .[J22].Offset(cts * 2 + 2))
  28.            Next cts
  29.       
  30.            For cts = 0 To 7     '  erra = outa1 * (1 - outa1) * (erri * w41 + errj * w42 + errk * w43 + errl * w44 + errm * w45)
  31.                 .Range("Z1:Z5").Clear    '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È
  32.             
  33.                 If (cts = 7) Then       '  7
  34.                    .[Z1] = .[I27]
  35.                    .[Z2] = .[I28]
  36.                 ElseIf (cts > 4) Then   '  5,6
  37.                    .[Z1] = .[H26].Offset((cts - 5) * 5)
  38.                    .[Z2] = .[H27].Offset((cts - 5) * 5)
  39.                 ElseIf (cts > 2) Then   '  3,4
  40.                    .[Z1] = .[G25].Offset((cts - 3) * 5)
  41.                    .[Z2] = .[G26].Offset((cts - 3) * 5)
  42.                 ElseIf (cts = 0) Then   '  0
  43.                    .[Z1] = .[E28]
  44.                    .[Z2] = .[E29]
  45.                    .[Z3] = .[E30]
  46.                 Else                    '  1,2
  47.                    .[Z1] = .[F24].Offset((cts - 1) * 5)
  48.                    .[Z2] = .[F25].Offset((cts - 1) * 5)
  49.                 End If

  50.                 If (cts > 5) Then       '  6,7
  51.                    .[Z3] = .[I24].Offset((cts - 6) * 5)
  52.                    .[Z4] = .[I25].Offset((cts - 6) * 5)
  53.                    .[Z5] = .[I26].Offset((cts - 6) * 5)
  54.                 ElseIf (cts = 5) Then   '  5
  55.                    .[Z3] = .[H28]
  56.                    .[Z4] = .[H24].Offset((cts - 5) * 5)
  57.                    .[Z5] = .[H25].Offset((cts - 5) * 5)
  58.                 ElseIf (cts > 3) Then    '  4
  59.                    .[Z3] = .[G27].Offset((cts - 4) * 5)
  60.                    .[Z4] = .[H24].Offset((cts - 4) * 5)
  61.                    .[Z5] = .[H25].Offset((cts - 4) * 5)
  62.                 ElseIf (cts = 3) Then    '  3
  63.                    .[Z3] = .[G27].Offset((cts - 3) * 5)
  64.                    .[Z4] = .[G26]
  65.                    .[Z5] = .[H25].Offset((cts - 3) * 5)
  66.                 ElseIf (cts > 1) Then    '  2
  67.                    .[Z3] = .[F26].Offset((cts - 2) * 5)
  68.                    .[Z4] = .[F27].Offset((cts - 2) * 5)
  69.                    .[Z5] = .[G24].Offset((cts - 2) * 5)
  70.                 ElseIf (cts = 0) Then    '  0
  71.                    .[Z3] = .[E30]
  72.                    .[Z4] = .[E31]
  73.                    .[Z5] = .[E32]
  74.                 Else                      '  1
  75.                    .[Z3] = .[F26].Offset((cts - 1) * 5)
  76.                    .[Z4] = .[F27].Offset((cts - 1) * 5)
  77.                    .[Z5] = .[F28]
  78.                 End If
  79.             
  80.             
  81.                 .[R5].Offset(cts) = .[F1].Offset(cts) * (1 - .[F1].Offset(cts)) * (.[P5] * .[Z1] + .[P6] * .[Z2] + .[P7] * .[Z3] + .[P8] * .[Z4] + .[P9] * .[Z5])
  82.                 '  ÀËÅç´ú¸Õµ²ªG
  83.                 '  .[V10].Offset(cts) = .[Z1]
  84.                 '  .[V10].Offset(cts, 1) = .[Z2]
  85.                 '  .[V10].Offset(cts, 2) = .[Z3]
  86.                 '  .[V10].Offset(cts, 3) = .[Z4]
  87.                 '  .[V10].Offset(cts, 4) = .[Z5]
  88.            Next cts
  89.    
  90.            .Range("Z1:Z5").Clear         '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È
  91.            '  .Range("V10:Z17").Clear    '  ²M°£¶Ç¦s¹Bºâ¸ê®ÆÄ椧¤º®e­È

  92.            rp5 = -1: bf1 = 0
  93.            For nxt = 0 To 9         '  neww1 = neww1 + (erra * intA)   ~  neww54 = neww54 + (errl * outc1)
  94.                For cts = 0 To 8
  95.                    rp5 = rp5 + 1

  96.                    If ((nxt * 9 + cts + 1) > 80) Then          '  neww81 = neww81 + (errn * outi1) ~ neww90 = neww90 + (erro * outm1)
  97.                        If ((nxt * 9 + cts + 1) = 81) Then
  98.                            rp5 = 0
  99.                            bf1 = 0
  100.                        End If
  101.                   
  102.                        .[A24].Offset(cts, nxt) = .[A24].Offset(cts, nxt) + (.[N5].Offset(rp5) * .[J1].Offset(bf1))
  103.                   
  104.                        If (rp5 = 1) Then
  105.                            rp5 = -1
  106.                            bf1 = bf1 + 1
  107.                        End If
  108.                    ElseIf ((nxt * 9 + cts + 1) > 40) Then      '  neww41 = neww41 + (erri * outa1) ~ neww80 = neww80 + (errm * outh1)
  109.                        If ((nxt * 9 + cts + 1) = 41) Then
  110.                            rp5 = 0
  111.                            bf1 = 0
  112.                        End If
  113.                   
  114.                        .[A24].Offset(cts, nxt) = .[A24].Offset(cts, nxt) + (.[P5].Offset(rp5) * .[F1].Offset(bf1))
  115.                   
  116.                        If (rp5 = 4) Then
  117.                            rp5 = -1
  118.                            bf1 = bf1 + 1
  119.                        End If
  120.                    Else                                        '  neww1 = neww1 + (erra * intA) ~ neww40 = neww40 + (errh * intE)
  121.                        .[A24].Offset(cts, nxt) = .[A24].Offset(cts, nxt) + (.[R5].Offset(rp5) * .[B1].Offset(bf1))
  122.                        
  123.                        If (rp5 = 7) Then
  124.                            rp5 = -1
  125.                            bf1 = bf1 + 1
  126.                        End If
  127.                    End If
  128.                Next cts
  129.            Next nxt
  130.        Next i
  131.    End With
  132. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i¦æµ½­n¤Î®É¡j¦æµ½­n¤Î®É¡A¥\¼w­n«ùÄò¡C¦p¿N¶}¤ô¤@¯ë¡A¥¼¿N¶}¤§«e¤d¸U¤£­n°±º¶¤õ­Ô¡A§_«h­«¨Ó´N¤Ó¶O¨Æ¤F¡C
ªð¦^¦Cªí ¤W¤@¥DÃD