Walidacja modelu — ba137m-polokres
Wyznaczanie okresu półtrwania Ba-137m metodą pomiarową, regresja ln(N) vs t
✓
13/13 asercji zdanych
Walidacja: ✓ ZALICZONA
Obliczono: 2026-07-08 02:28:41 UTC · PHP 8.1.2-1ubuntu2.24
Niezmienniki fizyczne i matematyczne
| Stan | Asercja | Wynik | Oczekiwane |
|---|---|---|---|
| ✓ | T½(Ba-137m) z danych domyślnych ≈ 2,552 min (wartość tablicowa) NNDC/NuDat 3.0: T½(Ba-137m) = 2,552(1) min. Tolerancja ±0,15 min dla danych z szumem statystycznym. |
2,4776 min | 2,552 min |
| ✓ | Stała rozpadu λ jest dodatnia Rozpad radioaktywny jest procesem eksponencjalnego zanikania — λ musi być dodatnie. |
λ = 0.004663 s⁻¹ | > 0 |
| ✓ | Przeliczenie T½: half_s / 60 = half_min Wewnętrzna spójność: half_min = half_s / 60 musi trzymać się dokładnie. |
2,4776 min | 2,4776 min |
| ✓ | Relacja T½ = ln(2)/λ jest zachowana Definicja: T½ = ln(2)/λ. Musi być spełniona dokładnie (wynik algebraiczny). |
148,6563 s | 148,6563 s |
| ✓ | Liczba użytych punktów = 11 (wszystkie mają sygnał netto > 0) Przy tle 120 i przedziałe 30 s wszystkie zliczenia brutto (min. 1350) > tło (120) → 11 punktów aktywnych. |
11 | 11 |
| ✓ | Wyższe tło eliminuje więcej punktów o niskim sygnale netto Odejmowanie tła redukuje sygnał netto; przy wyższym tle więcej punktów ma netto ≤ 0 i jest pomijanych. |
used_points(bg=95) = 4 ≤ used_points(bg=10) = 5 | used_points(bg_wysoki) ≤ used_points(bg_niski) |
| ✓ | Idealne dane eksponencjalne dają T½ z błędem < 0,5 s Przy danych bez szumu statystycznego regresja ln(R) vs t powinna odtworzyć dokładnie wejściowe T½ = 153,12 s. |
153,12 s | 153,12 s |
| ✓ | Aktywność maleje monotonicznie: t=0 > t=T½ > t=2T½ > t=3T½ Prawo rozpadu radioaktywnego: A(t) = A₀·e^(−λt) jest ściśle malejące dla λ > 0. |
625,000 imp/s < 1 250,000 imp/s < 2 500,000 imp/s < 5 000,000 imp/s | rosnąca kolejność |
| ✓ | Po jednym T½ aktywność spada o dokładnie połowę Definicja okresu półtrwania: A(T½)/A(0) = e^(−λ·T½) = e^(−ln2) = 0,5 dokładnie. |
0,5 | 0,5 |
| ✓ | Punkt z sygnałem netto = 0 jest pomijany (used_points = 3 z 4) Model pomija punkty z netto ≤ 0 (logarytm nieokreślony). Punkt t=30s ma netto=0 → odrzucony. |
used_points = 3 | 3 |
| ✓ | Punkt z ujemnym sygnałem netto (counts < tło) jest pomijany Logarytm ujemnej liczby jest niezdefiniowany — model słusznie pomija takie punkty. |
used_points = 4 | 4 |
| ✓ | Szybszy rozpad (T½=153 s) daje mniejszy T½ niż wolny (T½=600 s) Większa stała rozpadu λ → mniejszy T½. Monotoniczna zależność między danymi wejściowymi a wynikiem. |
T½_szybki=153.1 s < T½_wolny=600.0 s | T½(szybki) < T½(wolny) |
| ✓ | Stała rozpadu λ z regresji ≈ ln(2)/T½(Ba-137m) = 4,528×10⁻³ s⁻¹ NNDC: T½(Ba-137m) = 153,12 s → λ = ln(2)/153,12 ≈ 0,004528 s⁻¹. Regresja na idealnych danych musi odtworzyć λ z dokładnością do szumu numerycznego. |
0,0045 s⁻¹ | 0,0045 s⁻¹ |
Porównanie z benchmarkami
Benchmarki pokazują osobno wynik na danych demonstracyjnych, wynik na danych idealnych oraz stałą rozpadu z regresji.
| Benchmark | Model | Referencja | Błąd | Ocena |
|---|---|---|---|---|
| Dane domyślne: T½ Ba-137m NNDC/NuDat podaje ok. 2,552 min; dane demonstracyjne zawierają szum zliczeń. |
2.4776 min | 2.552 min | -2.915% | ✓ doskonały (≤5%) |
| Idealne dane eksponencjalne: T½ Syntetyczny przebieg bez szumu powinien odtworzyć wartość wejściową prawie dokładnie. |
153.12 s | 153.12 s | +0.000% | ✓ doskonały (≤5%) |
| Regresja: λ dla Ba-137m Niezależna kontrola nachylenia regresji ln(R) vs t. |
0.00452682 s⁻¹ | 0.00452682 s⁻¹ | -0.000% | ✓ doskonały (≤5%) |
| Po jednym półokresie: A/A0 Definicyjna kontrola wykładniczego zaniku aktywności. |
0.5 | 0.5 | +0.000% | ✓ doskonały (≤5%) |
Kontekst metodologiczny:
Strona waliduje nie tylko wartość półokresu, ale całą procedurę: odejmowanie tła, odrzucanie punktów netto ≤ 0, regresję logarytmiczną i przeliczenie λ na T½. Dlatego dane demonstracyjne mają szerszą tolerancję niż dane idealne.
Zakres walidacji
Model implementuje: Wyznaczanie okresu półtrwania Ba-137m metodą pomiarową, regresja ln(N) vs t.
Pełny zestaw testów (regresja, renderowanie) w public/kalkulatory/tests/.
Uruchamianie: php public/kalkulatory/tests/run.php