|
@@ -3,16 +3,24 @@
|
|
|
from matplotlib import pyplot as plt
|
|
|
import numpy as np
|
|
|
import cma
|
|
|
-from eval_spectra import spectra, params_count as pc
|
|
|
+from eval_spectra import multi_lorentzian, params_count as pc
|
|
|
+import sys
|
|
|
|
|
|
from_disk = np.loadtxt('rs4-d_perp_interpolated.txt')
|
|
|
+# from_disk = from_disk[:,
|
|
|
+# from_disk[0, :] > 0.4
|
|
|
+# ]
|
|
|
+# from_disk = from_disk[:,
|
|
|
+# from_disk[0, :] < 0.8
|
|
|
+# ]
|
|
|
+
|
|
|
step = 5
|
|
|
omega_ratio = np.copy(from_disk[0, ::step])
|
|
|
d_rs4 = from_disk[1, ::step] + 1j*from_disk[2, ::step]
|
|
|
|
|
|
|
|
|
def rms(x0):
|
|
|
- d_fit = spectra(omega_ratio, x0)
|
|
|
+ d_fit = multi_lorentzian(omega_ratio, x0)
|
|
|
diff_re = np.real(d_rms - d_fit)
|
|
|
diff_im = np.imag(d_rms - d_fit)
|
|
|
# rms = np.sqrt(np.sum(np.abs(diff_re)**2))
|
|
@@ -31,7 +39,7 @@ x1 = np.copy(x)
|
|
|
|
|
|
|
|
|
x0 = np.random.random(pc)
|
|
|
-d_rms = d_rs4 - spectra(omega_ratio, x1)
|
|
|
+d_rms = d_rs4 - multi_lorentzian(omega_ratio, x1)
|
|
|
x, es = cma.fmin2(rms, x0, sigma0=2)
|
|
|
# x = np.array([0.0019369902204593222, 0.9978752165162739,
|
|
|
# 0.05801769075873917, -0.032110084386726336])
|
|
@@ -47,7 +55,7 @@ x12 = x
|
|
|
|
|
|
|
|
|
x0 = np.random.random(pc)
|
|
|
-d_rms = d_rs4 - spectra(omega_ratio, x12)
|
|
|
+d_rms = d_rs4 - multi_lorentzian(omega_ratio, x12)
|
|
|
x, es = cma.fmin2(rms, x0, sigma0=0.2)
|
|
|
# x = np.array([0.1434266344187499, 0.5188802822956783, -
|
|
|
# 0.00950433613285183, 0.013585684987833985])
|
|
@@ -62,13 +70,20 @@ x, es = cma.fmin2(rms, x0, sigma0=0.02)
|
|
|
# 0.34432793, 0.64182428, -0.0803532, 0.04641341])
|
|
|
x123 = x
|
|
|
|
|
|
+# [ 0.09349663 -0.8188804 -0.36874431 -0.08079194
|
|
|
+# 0.25712096 0.56012451 -0.02089828 0.03133694]
|
|
|
+
|
|
|
+# [ 0.09391149 0.81234806 -0.30526326 -0.01044856
|
|
|
+# 0.3121473 0.55333457 -0.01684191 0.04727765
|
|
|
+# 0.11249052 0.88368699 -0.04680872 -0.10982548]
|
|
|
+print(x)
|
|
|
|
|
|
-d_fit = spectra(omega_ratio, x)
|
|
|
+d_fit = multi_lorentzian(omega_ratio, x)
|
|
|
plt.figure('rs4')
|
|
|
plt.plot(omega_ratio, np.real(d_rms), label='re d')
|
|
|
plt.plot(omega_ratio, np.imag(d_rms), label='im d')
|
|
|
plt.plot(omega_ratio, np.real(d_fit), label='re d fit', alpha=0.2, lw=3)
|
|
|
plt.plot(omega_ratio, np.imag(d_fit), label='im d fit', alpha=0.2, lw=3)
|
|
|
-plt.axhline(y=0.0, color='black', linestyle='-', lw=1)
|
|
|
+plt.axhline(y=0.0, color='black', linestyle='-', lw=1, alpha=0.2)
|
|
|
plt.legend()
|
|
|
plt.show()
|