¸üÐÂʱ¼ä:2022Äê10ÔÂ10ÈÕ14ʱ10·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

¡¡¡¡Í¨¹ýÇ°Ãæ¶ÔNumPyµÄѧϰ£¬ÏàÐÅ´ó¼ÒÒ»¶¨¶ÔNumPyÕâ¸ö¿ÆÑ§¼ÆËã°üÓÐÁËÒ»¶¨µÄÁ˽⣬½ÓÏÂÀ´£¬±¾½Ú½«Í¨¹ý¾Æ¹íÂþ²½µÄ°¸ÀýÀ´½éÉÜÈçºÎÔËÓÃNumPyËæ»úÊýÄ£¿éÓëÊý¾Ý´¦Àí¡£
¡¡¡¡ÏÂÃæÏÈΪ´ó¼ÒÃèÊöһϳ¡¾°£¬ÔÚһƬ¿Õ¿õµÄƽµØÉÏ(Ò»¸ö¶þάµØÃæÉÏ)ÓÐÒ»¸ö¾Æ¹í£¬Ëû×î³õÍ£ÁôÔÚÔµãµÄλÖã¬Õâ¸ö¾Æ¹íÿ×ßÒ»²½Ê±£¬·½ÏòÊDz»È·¶¨µÄ£¬ÔÚ¾¹ýʱ¼ätÖ®ºó£¬ÎÒÃÇÏ£Íû¼ÆËã³öÕâ¸ö¾Æ¹íÓëÔµãµÄ¾àÀë¡£
¡¡¡¡ÀýÈ磬Õâ¸ö¾Æ¹í×ßÁË2000²½(ÿ²½Îª0.5Ã×)£¬Ïòǰ×ßÒ»²½¼ÇΪ1£¬Ïòºó×ßÒ»²½¼ÇΪ-1£¬µ±¼ÆËã¾àÔµãµÄ¾àÀëʱ£¬¾ÍÊǽ«ËùÓеIJ½Êý½øÐÐÀÛ¼ÆÇóºÍ¡£Òò´Ë£¬Ê¹ÓÃrandomÄ£¿éÀ´Ëæ»úÉú³É2000¸ö“ÖÀÓ²±ÒÖµ”(Á½¸ö½á¹ûÈÎѡһ¸ö)£¬¾ßÌå´úÂëÈçÏ£º
µ¼Èënumpy°ü import numpy as np steps=2000 draws=np.random.randint(0, 2, size=steps) # µ±ÔªËØÎª1ʱ£¬direction_stepsΪ1£¬ # µ±ÔªËØÎª0ʱ£¬direction_stepsΪ-1 direction_steps=np.where(draws>0, 1, -1) # ʹÓÃcumsum()¼ÆËã²½ÊýÀÛ¼ÆºÍ distance=direction_steps.cumsum()
¡¡¡¡ÓÐÁ˲½ÊýµÄÀۼƺÍÖ®ºó£¬¿ÉÒÔ³¢ÊÔ¼ÆËã¾Æ¹í¾àÀëÔµã×îÔ¶µÄ¾àÀ룬¼´·Ö±ðµ÷ÓÃmax()Óëmin()¼ÆËãÏòǰ×ßÓëÏòºó×ßµÄ×î´óÖµ£¬¾ßÌå´úÂëÈçÏ¡£
In [141]: # ʹÓÃmax()¼ÆËãÏòǰ×ßµÄ×îÔ¶¾àÀë
distance.max()
Out[141]: 12
In [142]: # ʹÓÃmin()¼ÆËãÏòºó×ßµÄ×îÔ¶¾àÀë
distance.min()
Out[142]: -31
¡¡¡¡´ÓÁ½´ÎÊä³öµÄ½á¹ûÖпÉÒÔ¿´³ö£¬Õâ¸ö¾Æ¹í×ßµÄ×îÔ¶µÄ¾àÀëÊdz¯ºó·½¾àÀëÔµã15.5(31×0.5)Ã×µÄλÖá£ÖµµÃÒ»ÌáµÄÊÇ£¬ÓÉÓÚÕâÀïʹÓõÄÊÇËæ»úÊý£¬ËùÒÔÿ´ÎÔËÐеĽá¹ûÊÇËæ»úµÄ¡£
¡¡¡¡µ±¾Æ¹í¾àÔµãµÄ¾àÀë´óÓÚ»òµÈÓÚ15Ã×ʱ£¬Èç¹ûÏ£Íû¼ÆËãËû×ܹ²×ßÁ˶àÉÙ²½£¬Ôò¿ÉÒÔʹÓÃÊýѧ·½³Ì“|x×0.5|≥15”Íê³É£¬ÆäÖÐx±íʾ²½Êý¡£ÒªÏë¼ÆËãÒ»¸öÊýµÄ¾ø¶ÔÖµ£¬ÔòÐèÒªµ÷ÓÃabs()º¯ÊýʵÏÖ£¬²»¹ý¸Ãº¯Êý·µ»ØµÄÊÇÒ»¸ö²¼¶ûÊý×飬¼´²»Âú×ãÌõ¼þµÄÖµ¾ùΪFalse£¬Âú×ãÌõ¼þµÄÖµ¾ùΪTrue¡£ÎªÁË´ÓÂú×ãÌõ¼þµÄ½á¹ûÖзµ»Ø×î´óÖµµÄË÷Òý£¬Ôò»¹ÐèҪͨ¹ýµ÷ÓÃargmax()·½·¨À´ÊµÏÖ£¬¾ßÌå´úÂëÈçÏ¡£
In [143]: # 15Ã×»»Ëã³É²½Êý
steps=15/0.5
(np.abs(distance)>=steps).argmax()
Out[143]: 877
¡¡¡¡´Ó¼ÆËã½á¹û¿ÉÒÔ¿´³ö£¬µ±¾Æ¹í×ßµ½877²½Ê±£¬´Ëʱ¾àÀëÔµãµÄ³¤¶ÈÊÇ´óÓÚ»òµÈÓÚ15Ã׵ġ£
±±¾©Ð£Çø