import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = ["SimHei"]
plt.rcParams['axes.unicode_minus'] = False
r = np.linspace(0.1, 2, 1000)
theta = np.linspace(0, 2*np.pi, 1000)
R, Theta = np.meshgrid(r, theta)
t = 0
omega = 1
I0 = 1
I3 = 0.2
B_base = (I0 * np.sin(omega * t) / R)
B_harmonic = (I0 * np.sin(omega * t) / R) + (I3/I0) * np.cos(3 * Theta)
fig, (ax1, ax2) = plt.subplots(1, 2, subplot_kw={'projection': 'polar'}, figsize=(16, 8))
vmin, vmax = np.min(B_harmonic), np.max(B_harmonic)
c1 = ax1.pcolormesh(Theta, R, B_base, cmap='viridis', shading='auto', vmin=vmin, vmax=vmax)
fig.colorbar(c1, ax=ax1, label='磁场强度 (相对值)')
ax1.set_title('纯基频电流的磁场分布', fontsize=14)
ax1.set_rlabel_position(22.5)
c2 = ax2.pcolormesh(Theta, R, B_harmonic, cmap='viridis', shading='auto', vmin=vmin, vmax=vmax)
fig.colorbar(c2, ax=ax2, label='磁场强度 (相对值)')
ax2.set_title('含3倍频增强效果的磁场分布', fontsize=14)
ax2.set_rlabel_position(22.5)
plt.suptitle('线电流磁场极坐标分布对比: 基频 vs 三倍频增强', fontsize=16, y=1.05)
plt.tight_layout()
plt.show()3