20 lines
488 B
Python
20 lines
488 B
Python
|
import numpy as np
|
||
|
|
||
|
a = 1
|
||
|
n_vals = [n for n in range(1, 7)]
|
||
|
|
||
|
N = 1000
|
||
|
dx = 1 / N
|
||
|
x_vals = np.linspace(-a / 2, a / 2, N)
|
||
|
|
||
|
psi_evens = []
|
||
|
psi_odds = []
|
||
|
for n in n_vals:
|
||
|
if n % 2 == 0:
|
||
|
psi_evens.append(np.sqrt(2 / a) * np.sin(n * np.pi * x_vals / a))
|
||
|
else:
|
||
|
psi_odds.append(np.sqrt(2 / a) * np.cos(n * np.pi * x_vals / a))
|
||
|
|
||
|
for i in range(min(len(psi_evens), len(psi_odds))):
|
||
|
print(f'psi_even_{i + 1} * psi_odd_{i + 1} = {np.dot(psi_evens[i], psi_odds[i]) * dx}')
|