[关闭]
@newton2ndlaw 2016-05-02T22:38:07.000000Z 字数 2137 阅读 848

Homework10

张琦 2013301510086


1.摘要

第十次作业


2.背景介绍


3.正文

3.1.作业L1 3.26

Continue the previous problem, and construct the phase-phase plots as in Figures 3.16 and 3.17 in the different regimes.

根据课本p76,可知球的运动方程为:

得到递推关系:

根据以上递推公式,即可编写程序。

3.1.1.测试程序

程序的特性链接

由于是用做测试,因此参数采用的是书上的数值,,,,,,效果图:



3.1.2.作出其他条件下的图形

参数采用,,,,,,效果图:



参数采用,,,,,,效果图:



3.2.作业3.31

Study the ehavior for other types of tables. One interesting possibility is a square table with a circular interior wall located either in the center, or slightly off-center. Another possibility is an elliptical table.

根据课本p82,可知球的运动方程为:

得到递推关系:

根据以上递推公式,再加上边界条件即可编写程序。


3.2.1.测试程序

边界条件为()时代码,以及效果图:

3.2.2.在中心加入圆形边界

边界条件为()时代码,以及效果图:

为了防止经过圆形的反弹之后的一个步长,球仍在圆形的边界条件内,因此多添加一个参数n的循环。


3.2.3.最终完成的程序

程序特性:代码链接
- 整合了圆与椭圆,并能够自动识别
- 能够识别椭圆的长轴与短轴
- 添加了边界图
- 固定了输出图像的大小
- 能够输出初始信息
- 可以自由移动圆和椭圆的位置
- 可以显示小球的初始位置

以下给出几个例子:

(a) 偏离中心的圆 输出信息

ball condition x = 0.8 y = 0.0
vx = 1.73205080757 vy = 1.0
circle condition x = 0.1 y = 0.1
r = 0.5
Total time 100.0 time unit

(b) 偏离中心,改变大小的圆 输出信息

ball condition x = 0.8 y = 0.0
vx = 1.73205080757 vy = 1.0
circle condition x = -0.1 y = 0.3
r = 0.3
Total time 100.0 time unit

(c) 偏离中心,长轴与x轴平行的椭圆 输出信息

ball condition x = 0.8 y = 0.0
vx = 0.707106781187 vy = 0.707106781187
ellipse condition x = -0.1 y = 0.3
a = 0.5 b = 0.3
e = 0.8
a parallel x axis

(d) 偏离中心,长轴与y轴平行的椭圆 输出信息

ball condition x = 0.8 y = 0.0
vx = 0.707106781187 vy = 0.707106781187
ellipse condition x = -0.1 y = 0.3
a = 0.6 b = 0.2
e = 0.942809041582
a parallel y axis

(e) 椭圆的一部分在正方形边界外 输出信息

ball condition x = 0.8 y = 0.0
vx = 0.965925826289 vy = 0.258819045103
ellipse condition x = -0.1 y = 0.6
a = 0.8 b = 0.3
e = 0.927024810887
a parallel y axis

3.3.作业L3 将以上题目使用vpython进行一个3D展示

简单的写了一个关于vpython的代码代码链接
-标明了正方形和椭圆的边界
-可以任意修改边界,初速度


结论

利用python可以对一些混沌的现象有比较直观的认识。


致谢

以上内容均为原创。

注:vpython安装了之后,matplotlib就用不了。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注