简谐振动|Python绘制拍与李萨如图形


相关的代码我们附在了文章后,感兴趣可以自行参考。


文章目录

      • 1. 两个同方向、同频率的简谐振动的合成
        • a. 同相位的情况
        • b. 反相位的情况
        • c. 其它情况
      • 2. 两个同方向、不同频率的简谐振动的合成:拍
      • 3. 两个相互垂直的简谐振动的合成
        • a. 同频率的情况
        • b. 不同频率的情况:李萨如图形
      • 附加代码

1. 两个同方向、同频率的简谐振动的合成

a. 同相位的情况

简谐振动|Python绘制拍与李萨如图形_第1张图片

b. 反相位的情况

简谐振动|Python绘制拍与李萨如图形_第2张图片

c. 其它情况

简谐振动|Python绘制拍与李萨如图形_第3张图片


2. 两个同方向、不同频率的简谐振动的合成:拍

简谐振动|Python绘制拍与李萨如图形_第4张图片


3. 两个相互垂直的简谐振动的合成

a. 同频率的情况

简谐振动|Python绘制拍与李萨如图形_第5张图片
简谐振动|Python绘制拍与李萨如图形_第6张图片
简谐振动|Python绘制拍与李萨如图形_第7张图片
简谐振动|Python绘制拍与李萨如图形_第8张图片

b. 不同频率的情况:李萨如图形

简谐振动|Python绘制拍与李萨如图形_第9张图片

简谐振动|Python绘制拍与李萨如图形_第10张图片
简谐振动|Python绘制拍与李萨如图形_第11张图片
简谐振动|Python绘制拍与李萨如图形_第12张图片

附加代码

from math import pi,cos
import matplotlib.pyplot as plt
import numpy as np

ts = np.linspace(-50,50,1000)

def TheSameDirection (A1=5,A2=8,w1=1.2,w2=1.2,theta1=pi,theta2=3*pi):
	
	y1,y2 = [],[]
	for t in ts:
		y1.append(A1 * cos(w1 * t + theta1))
		y2.append(A2 * cos(w2 * t + theta2))

	plt.figure()
	plt.plot(ts,y1,alpha=0.5,c='deeppink')
	plt.plot(ts,y2,alpha=0.5,c='orange')
	y = []
	for i in range(len(y1)):
		y.append(y1[i] + y2[i])
	plt.plot(ts,y,c='red',alpha=5)
	plt.show()

def TheDifferentDirection(A1=5,A2=8,w1=1.2,w2=1.2,theta1=pi,theta2=3*pi):

	x,y = [],[]
	for t in ts:
		x.append(A1 * cos(w1 * t + theta1))
		y.append(A2 * cos(w2 * t + theta2))

	plt.figure()
	plt.plot(x,y)
	plt.show()

if __name__ == '__main__':
	'''
	ts在-10~10之间:

	TheSameDirection()
	TheSameDirection(theta2=2*pi)
	TheSameDirection(theta2=0.6*pi)
	'''
	'''
	ts在-50~50之间:

	TheSameDirection(w1=4,w2=4.1)
	'''
	'''
	TheDifferentDirection()
	TheDifferentDirection(theta2=2*pi)
	TheDifferentDirection(theta2=0.6*pi)
	TheDifferentDirection(theta2=3.6*pi)
	'''
	TheDifferentDirection(w1=2,w2=5)
	TheDifferentDirection(w1=3,w2=7)
	TheDifferentDirection(w1=2,w2=11)
	TheDifferentDirection(w1=7,w2=3)

你可能感兴趣的:(物理)