Toolverse
Wszystkie skille

scipy-curve-fit

autor: benchflow-ai

Dopasuj modele do danych eksperymentalnych za pomocą nieliniowej optymalizacji najmniejszych kwadratów.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

scipy-curve-fit to umiejętność do szacowania parametrów modeli na podstawie danych pomiarowych. Używa algorytmu nieliniowej optymalizacji najmniejszych kwadratów, aby znaleźć parametry funkcji, która najlepiej pasuje do Twoich obserwacji. Narzędzie zwraca zarówno optymalne wartości parametrów, jak i macierz kowariancji opisującą niepewność estymacji. Idealne do analizy odpowiedzi systemów, procesów fizycznych czy każdego eksperymentu, gdzie musisz wydobyć parametry modelu z szumnych danych.

Jak używać

  1. Zdefiniuj funkcję modelu, którą chcesz dopasować do danych. Na przykład dla odpowiedzi skokowej pierwszego rzędu: def step_response(t, K, tau): return y_initial + K * u * (1 - np.exp(-t / tau)), gdzie K to wzmocnienie, a tau to stała czasowa.
  2. Przygotuj dane eksperymentalne jako tablice NumPy: t_data zawierające punkty czasowe oraz y_data zawierające zmierzone wartości wyjścia.
  3. Podaj początkowe przybliżenia parametrów (p0), aby przyspieszyć zbieżność algorytmu. Możesz je oszacować z danych: K_guess = (y_data[-1] - y_initial) / u oraz tau_guess na podstawie czasu osiągnięcia 63,2% wartości końcowej.
  4. Opcjonalnie ustaw ograniczenia (bounds) dla parametrów, aby uniknąć fizycznie niemożliwych rozwiązań: bounds=([K_min, tau_min], [K_max, tau_max]).
  5. Wywołaj curve_fit z funkcją modelu, danymi oraz parametrami: popt, pcov = curve_fit(step_response, t_data, y_data, p0=[K_guess, tau_guess], bounds=...).
  6. Wyodrębnij wyniki: popt zawiera optymalne parametry [K_estimated, tau_estimated], a pcov to macierz kowariancji pokazująca niepewność estymacji.

Podobne skille