P33思考练习题3

1.将随机游走的步数增加到100步,计算物体最终与原点的距离。

#第1题
#模拟每步生成方向
import numpy as np
steps = 100
rndwlk = np.random.randint(0,2,size = (2,steps))
rndwlk = np.where(rndwlk>0,1,-1)
print(rndwlk)
#计算每步移动后的位置
position = rndwlk.cumsum(axis = 1)                #按行累加求和
print(position)
#计算每步移动后与原点的距离
dists = np.sqrt(position[0]**2+position[1]**2)    #sqrt求平方根
print(dists)
print(round(dists[-1],4))                         #格式化输出保留4位小数。round(数,保留位数)

2.重复多次随机游走过程,观察物体与原点距离的变化趋势。

此题在第1小题的基础上进行。先后分析100次,1000次,10000次随机游走100步后物体最终离原点的距离,得出结论运行次数越多,越能发现物体在二维空间内随机游走100步后离原点的平均距离趋近(收敛)于一个数。(这个数为10,见下)

运用到了之后几章的知识:用Matplotlib绘制散点图分析距离数据及运用机器学习回归建模。


结论:在二维平面内随机选择方向走一个单位的长度,则n步之后离出发点的平均距离为根号n。数学推导如下:

随机游走的期望距离_chivalry-CSDN博客_一维随机游走的期望距离

运行100次: 

import numpy as np
l = []
for i in range(100):steps = 100rndwlk = np.random.randint(0,2,size = (2,steps))rndwlk = np.where(rndwlk>0,1,-1)position = rndwlk.cumsum(axis = 1)                dists = np.sqrt(position[0]**2+position[1]**2)   l.append(round(dists[-1],2))
print(l)#使用matplotlib绘制散点图,分析趋势
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize = (20,6))                                       #定义图形大小
plt.scatter(x = np.arange(1,101),y = l,marker = '*',c = 'red')    #plt.scatter()函数画散点图
plt.show()                                                         #展示图形#根据散点图分析,建立回归分析模型
x = np.arange(1,101).astype(float)                               #astype()函数强制类型转换为浮点型
Y = np.array(l)                                                    #将l列表转为数组
from sklearn.linear_model import LinearRegression
linreg = LinearRegression()                                        #初始化模型
linreg.fit(x.reshape(-1,1),Y)                                      #添加.reshape(-1,1)解决x单独一行/列不为二维数组出错的问题
print(linreg.intercept_,linreg.coef_)                              #输出回归模型截距,回归系数

结果 :

其中一次运行得到的次数与距离的回归方程:y = -0.008x+13.32

散点图如下:

运行1000次:

结果 :

其中一次运行得到的次数与距离的回归方程:y = 0.0008x+11.87

散点图如下:

运行10000次: 

结果 :

其中一次运行得到的次数与距离的回归方程:y = -7.02e-06x+12.57

散点图如下:

由此可见,随着运行次数的增加,回归方程的回归系数越来越小,点被y=10这条线划分的界限越来越清晰。

第2章【思考与练习3】随机游走轨迹模拟。将随机游走的步数增加到100步,计算物体最终与原点的距离。重复多次随机游走过程,观察物体与原点距离的变化趋势。相关推荐

  1. python三维随机游走轨迹模拟_用Python模拟随机游走(Random walks)

    什么是随机游走? 随机游走(random walk)也称随机漫步,随机行走等,是以随机的体例采纳连续步调的过程.然后,可以将其他条件应用于此描述,以为您的特定用例建立一个随机遍历.粒子的布朗运动,股票 ...

  2. Java黑皮书课后题第6章:*6.38(生成随机字符)使用程序清单6-10 RandomCharacter中的方法,打印100个大写字母及100个一位数字,每行打印10个

    6.38(生成随机字符)使用程序清单6-10 RandomCharacter中的方法,打印100个大写字母及100个一位数字,每行打印10个 题目 题目描述 程序清单6-10 破题 代码 运行实例 题 ...

  3. “随机漫步”(Random Walk)模拟演示

    (1).任务描述 有一类问题总称为"随机漫步"(Random Walk)问题,这类问题长久以来吸引着数学界的兴趣.所有这些问题即使是最简单的解决起来也是极其困难的.而且它们在很大程 ...

  4. Unity 3D鼠标操作实现旋转、缩放观察物体

    1.实现思路:操作摄像头围绕物体中心点(远点),做球面旋转移动来实现旋转观察物体,控制球的半径大小来实现物体的缩放效果. 2.C#摄像头源码脚本 //放在摄像头上,实现旋转.缩放观察物体 using ...

  5. 计量经济学计算机答案第三章课后答案,复旦大学 经济学院 谢识予 计量经济学 计量经济学第三章思考练习题...

    计量经济学第三章思考练习题 1. 两变量线性回归模型适合研究的经济问题有哪些主要特征? 2. 若变量Y和X之间的关系为Y A(X 5)2e ,其中A. 为未知参数, 为随机误差,问能否用两变量线性回归 ...

  6. 随机不重复:从以下学员名单中随机选出4个学员:var arr = [“鹿晗“,“王俊凯“,“蔡徐坤“,“彭于晏“,“周杰伦“,“刘德华“,“赵本山“];注意:不要有重复的学员

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. 层次聚类定义、层次聚类过程可视化、簇间距离度量、BIRCH、两步聚类、BIRCH算法优缺点

    层次聚类定义.层次聚类过程可视化.簇间距离度量.BIRCH.两步聚类.BIRCH算法优缺点 目录

  8. 方舟非主机服务器无限距离,方舟非专业服务器距离限制怎么解除 | 手游网游页游攻略大全...

    发布时间:2016-08-03 方舟适者生存服务器进不去 进不去服务器解决办法攻略.服务器进不去怎么办?很多玩家无法进入服务器,主要是两种情况,一种是点服务器游戏就重启,一种是进不去,这里给大家介绍解 ...

  9. 第15章-4~6 装配体静力学分析经验技巧总结篇 (工作原理的简化、约束、预紧力、载荷、后处理)高效修改接触对、suppress(抑制)、多工位(多步计算)的螺栓预紧力设置

    15-04 工作原理的对接 (相关不清楚的设置在之前的博客有介绍,欢迎关注博客.批评指正) 在仿真前必须对工位吊的原理非常清楚. 接触类型辨别: 1转筒1和转台2的接触面有三个,它们之间是摩擦接触. ...

最新文章

  1. 【数据库】SQLite和MySQL之间的对比和选择
  2. 全球三大BCH(比特币现金)城市,有你想去的吗
  3. Mysql中(@i:=@i+1)的作用
  4. Fibonacci(斐波纳契)数列各种优化解法
  5. Java监听器用法(三):外部类监听器
  6. 深度linux引导安装,全程演示Linux Deepin 12.06安装过程
  7. Cert manager自动签发/更新证书
  8. 找出SAP OData service出错根源的小技巧
  9. svn 403 Forbidden
  10. Mock2 moco框架的http协议get方法Mock的实现
  11. 基于javafx的五子棋_JavaFX中基于表达式的PathTransitions
  12. Android 系统(164)---手机收到8bit编码的短信无法显示
  13. 别急,MIUI 11还有惊喜!下一代MIUI项目已开拔
  14. tcp socket的发送与接收缓冲区
  15. 3位水仙花数计算pythonoj_简述 取模运算Modulo Operation 及其与 取余运算Complementation 区别联系...
  16. 购买物品_1美元能买些啥?盘点1美元在10个不同的国家所能购买的物品
  17. c++ struct与class
  18. 在VUE中实现城市及对应的地区的联动渲染
  19. 一个用于创建JSON接口的网站 http://myjson.com/api
  20. 【杂项】VScode中C C++代码美化工具Uncrustify配置详解

热门文章

  1. wepy微信小程序wxs的使用(解决数字精确度)
  2. 服务器 操作系统 阵列,服务器磁盘阵列与操作系统
  3. 别再提贵公司在头脑风暴了,调研表明都是骗人的
  4. h5pc端分享当前网页到qq、微博
  5. life‘s a struggle
  6. 运营新人也可以做的副业平台丨闲鱼运营(上)
  7. 中国四溴邻苯二甲酸酯(PHT4-Diol)市场趋势报告、技术动态创新及市场预测
  8. 你是做不到?还是不想做?
  9. typeAliases和package标签的用法
  10. 一张图卖出8000万,背后是大数据湾区的转型