大物实验:光的偏振 处理实验数据及作图工具

1次阅读
没有评论

输入完37个i(φ)值后可以自动画出极坐标系下的E-φ关系曲线,并以表格的形式输出每一个φ对应的i(φ)和E的值,图像可以保存下来打印贴在实验报告上
鉴于使用者可能没装python和相应的库,我打包成了一个即点即用的exe文件,所以文件有点大,用完删掉就行,
链接:https://pan.baidu.com/s/1HtQpnKpxS7NNk6ZsqPMBeA?pwd=kuuf
提取码:kuuf
源码。

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
def calculate_E(ix, iy, i_phi):
return np.sqrt((ix * iy) / (ix + iy - i_phi))
ix_value = float(input("Enter the value for ix: "))
iy_value = float(input("Enter the value for iy: "))
phi_values = np.arange(0, 361, 10)
E_values = []
i_phi_values = []
# Loop to accept i(φ) values and calculate E, phi will increase by 10° each time
for phi in phi_values:
i_phi = float(input(f"Enter the value for i({phi}°): "))
E = calculate_E(ix_value, iy_value, i_phi)
E_values.append(E)
i_phi_values.append(i_phi)
# Convert the data into a pandas DataFrame for tabular display
data = {
'φ (Degrees)': phi_values,
'i(φ)': i_phi_values,
'E': E_values
}
df = pd.DataFrame(data)
# Plot the E-φ relationship curve in polar coordinates to create an elliptical form
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(np.deg2rad(phi_values), E_values)
ax.set_theta_zero_location('N') # Set the direction of 0° to the top of the plot
ax.set_theta_direction(-1) # Set the theta direction to clockwise
# Display the table and the plot
plt.show()
print(df)

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2024-11-27发表,共计1147字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码