import numpy as np import matplotlib.pyplot as plt from scipy.optimize import curve_fit # %% AJUSTE kb = 1.380649e-23 # Constante de Boltzmann T = 300 # Temperatura en Kelvin kbT = kb * T # Factor kb * T def helfrich_model(x, kappa, b): # b = abs(b) kappa = abs(kappa) b = abs(b) result = kbT / (8*b + kappa*x) return result def aproxHelfrich(x, y): x = np.array(x) y = np.array(y) try: popt, _ = curve_fit(helfrich_model, x, y, p0=[1.4e-19, 1e-7]) # valores referencia kappa, b = popt # Aseguramos que bend y stretch sean siempre positivos b = abs(b) kappa = abs(kappa) # # Establecemos un límite inferior para el valor de 'bend' # bend = max(bend, 1e-20) return kappa, b except RuntimeError: print("Error: La optimización no convergió") return None, None