python基础—醉汉二维空间x,y轴随机漫步

醉汉二维空间x,y轴随机漫步问题

环境配置
我的系统里面有两个python,为了写作业
一个python2.7
一个python3.5
以下是我默认的python环境
在这里插入图片描述
前提:eclipse 安装pydot插件。

  1. 安装numpy
    可以直接在cmd下面执行语句 pip install numpy
    time out了好几次之后,成功了!!!
    python基础—醉汉二维空间x,y轴随机漫步_第1张图片
    所以直接使用该语句就可以,如果实在不行,那就去找whl文件,对应的版本要和python版本一致。网址:https://pypi.org/project/numpy/#files
    注意:下载时需将Numpy下载到Python的安装目录下scripts目录下
    安装命令:python -m pip install -U pip(因为我执行命令之后就安装成功了,所以没有使用这种方法,我也不知道这个安装命令可不可行。。。)

  2. 安装Matplotlib
    可以选择直接在cmd下执行语句pip install matplotlib
    python基础—醉汉二维空间x,y轴随机漫步_第2张图片
    好的我不配!
    只能找whl文件
    网址:https://pypi.org/project/matplotlib/#files
    对应的版本要和python版本一致。
    是!!!我是python3-5,我下了一个cp37的以身涉险,果然
    python基础—醉汉二维空间x,y轴随机漫步_第3张图片
    好的,又在history里面找到了cp35的版本重新下载了一个matplotlib-2.2.5-cp35-cp35m-win_amd64.whl版本的进行安装。
    python基础—醉汉二维空间x,y轴随机漫步_第4张图片

错误它又来了又来了又来了。。。。
python基础—醉汉二维空间x,y轴随机漫步_第5张图片
然后我打算晚点选择pycharm死马当活马医。。。。
—————————————————————————————————————————
嗯,死马医活了!
以下是pycharm实现过程

实验目的: 模仿醉汉在二维空间上的随机漫步:一个醉汉喝醉酒,每次只能走一步,每步分别沿着 x,y 轴走一个单位长度,试着画出醉汉的轨迹 。
实验平台:
anaconda2
pycharm
代码实现:

import matplotlib.pyplot as plt
import numpy as np
a = [0, 0]
A = [a, ]
while len(A) < 1000:
    p = np.array([[0, 1], [1, 0], [0, -1], [-1, 0]])
    b = np.random.randint(len(p))
    a = np.array(a) + p[b]
    c = list(a)
    A.append(c)
B = np.array(A).T
plt.scatter(0, 0, c='r')
#plt.axis('off')
plt.plot(B[0], B[1], c='g')

plt.show()

程序描述:(以下仅仅是描述,代码在上面)

import matplotlib.pyplot as plt//matplotlib库用来绘图用,坐标轴等
import numpy as np//这是一种导入方式,numpy是处理数值计算最基础的类库
a = [0, 0]//定义了一个列表a,它包含两个元素,即0和0,初始化a
A = [a, ]
while len(A) < 1000://小于100步
    p = np.array([[0, 1], [1, 0], [0, -1], [-1, 0]])//使用 np.array()来创建 NumPy 数组
    b = np.random.randint(len(p))//random.randint(a, b, n)表示随机生成n个大于等于a,小于b的整数
    a = np.array(a) + p[b]//[0,0]+[1,0](四个点中的随机一个),更新a
    c = list(a)//创建列表c,list列表中任何一个字符都是元素。([1,2,3]中“,”不是元素,在list中是)
    A.append(c)//将c追加至A的尾,当A为list,A的元素成员增加
B = np.array(A).T//a.T 表示转置([0,1]->[0 1])
plt.scatter(0, 0, c='r')//scartter散点图,(0,0)数据点
#plt.axis('off')//隐去坐标轴
plt.plot(B[0], B[1], c='g')//画点连线

plt.show()


实验结果:
python基础—醉汉二维空间x,y轴随机漫步_第6张图片
附:也可以改变步长和角度来改变醉汉的运动轨迹。

你可能感兴趣的:(python基础—醉汉二维空间x,y轴随机漫步)