# Kentel Python3 - Grafikoù

## Dispenn an izotopoù radioaktivel

Gant ar fonksionoù ankivil [aléatoires] (pe kentoc'h damankivil [pseudo-aléatoire]) hag ar fed gallout ober kalz a jedadennoù buan tre eo an urzhiataerioù ostilhoù dispar evit ober darvanoù [simulations] luziet.

Klasket e vo darvanañ digresk eksponantel ur c'hementad a rannigoù radioaktivel e kerz an amzer.<br>
Kroget e vo da tresañ grafik fonksion matematikel an digresk eksponantel evit gwelet he stumm ha pleustriñ gant ar grafikoù.<br>
Kendalc'het e vo gant un darvan eeunek ha difetiz a-walc'h (met reiz memes tra).<br>
Echuet e vo gant un darvan tostoc'h d'ar gwirion (ar pezh a fell deomp).

Gouzout a reomp un digresk eksponantel a zo eus ar stumm<br>
$\begin{equation}
N(t) = N_0 \times e^{-\lambda t}
\end{equation}$<br><br>
Gant :<br>
$N_0$ Niver a rannigoù radioaktivel da gentañ (en amzer $t_0$)<br>
$\lambda$ Ar c'honstantenn digresk<br>
$t$ an amzer

## Grafikoù gant ar module `matplotlib`

Tu vefe termeniñ ur fonksion `N(t)` gant Python met `matplotlib` ne oar ket tresañ fonksionoù evel-se. Implijet e vez **listennoù roadennoù niverel** nemetken evit tresañ grafikoù.


```python
# Enframmet e vez ar module evit tresañ grafikoù
import matplotlib.pyplot as plt
# Ar ger 'as' a servij d'ober un alias etre matplotlib.pyplot ha plt
# Berroc'h ha kevatal e vo skrivañ 'plt' eget 'matplotlib.pyplot'
```


```python
# Ur skouer simpl

roadennou = [1, 2.2, 4, 8.9, 6, 5, 3, 1, 1.5, 0.2]

plt.plot(roadennou)  # Tresañ ar grafik (e memor an urzhiataer)
plt.show()           # Diskouez ar grafik war ar skramm
```


```python
# Tresomp an digresk eksponantel bremañ

# Kavet e vez ar fonksion eksponantel e-barzh ar module 'math'
from math import exp

kde = 0.1  # Konstantenn digresk eksponantel
n0 = 1000

roadennou = []

# Jedet e vez 100 talvoud da-heul
for t in range(100):
    roadennou.append(n0*exp(-kde*t))

plt.plot(roadennou)
plt.show()
```

## Un darvan difetiz

Pep rannig radioaktivel eus ar memes sort en eus ar memes probablentez bezañ dispennet e pad ur c'houlzad bennak.<br>
Ma vez lavaret, da skouer, ez eo 1% ar probablentez evit ur rannig bezañ dispennet e-kerzh ur c'houlzad e dalvez ivez e vo dispennet 1% eus kementad ar rannigoù e-kerzh ar c'houlzad.


```python
prob_dispenn = 0.1
n0 = 1000

# Lakaet e vez talvoud n0 el listenn
roadennou = [n0]

for i in range(100):
    # Kemeret e vez an talvoud diwezhañ el listenn
    # Lemet e vez an niver a rannigoù dispennet e-kerzh ar c'houlzad
    # ouzhpennet e vez an talvoud nevez e fin al listenn
    roadennou.append(roadennou[i] - roadennou[i]*prob_dispenn)

plt.plot(roadennou)
plt.show()
```

## Un darvan tostoc'h eus ar gwirionnez

Ar skouerioù a-us a heulie formulennoù matematikel anavezet en araok. Ar formulennoù matematikel a zo dedennus evit diskriv ar fenomenoù naturel a-bell, a geidenn hag en un doare parfed met ar fenomenoù naturel ne heuliont ket formulennoù matematikel dre ret pa vezont sellet a-dost. Setup perak ne oant ket darvanoù da vat.<br>
Evit kaout un darvan gwir e vez roet perzhioù ar sistem nemetken hag an diskoulm a vez dianavezet en araok. Pep gwech ma vez peurgaset an darvan e c'heller kavout un diskoulm disheñvel.


```python
# Enframmañ ar module evit implij fonksionoù ankivil
import random
```


```python
# Cheñchit talvoud ar roadennoù-se hervez o c'hoantoù
prob_dispenn = 0.1
rannigou = 1000

# El listenn 'mañ e vo miret ar roadennou net jedet
roadennou = [rannigou]

while rannigou>0:
    # Evit pep rannig a chom e vez tennet un niverenn d'ar sort
    for i in range(rannigou):
        # Ma 'vez tennet un niverenn bihanoc'h eget ar probablentez dibabet
        # e vez dispennet ur rannig
        if random.random() < prob_dispenn:
            rannigou -= 1
    
    # E fin ar roll e vez stoked a niver a rannigoù a chom en omp listennad data
    roadennou.append(rannigou)
```

Bremañ ne chom nemet da dresañ an data bet jedet war ur grafik brav gant ar stadamantoù da-heul.


```python
# Cheñch ment ar grafik
plt.rcParams["figure.figsize"] = [12, 8]

# Tresañ ar grafik
plt.plot(roadennou)

# Dibab un titl (dirediet)
plt.title("Dispenn an izotopoù radioaktivel")

# Dibab anvioù evit an axoù (dirediet)
plt.xlabel("Red an amzer (koulzadoù)")
plt.ylabel("Niver a rannigoù")

# Diskouez ar grafik
plt.show()
```

305ae0c3e6ed3398c872a31c203969393f34cac0
ipynb
Jupyter Notebook
09_Kentel_Python3_Grafik_Radioaktivel.ipynb
gweltou/SNT-Kenteliou
e78604834f6704ab0f68e8bcdc8f92ee380e4fbc
MIT
09_Kentel_Python3_Grafik_Radioaktivel.ipynb
gweltou/SNT-Kenteliou
e78604834f6704ab0f68e8bcdc8f92ee380e4fbc
MIT
09_Kentel_Python3_Grafik_Radioaktivel.ipynb
gweltou/SNT-Kenteliou
e78604834f6704ab0f68e8bcdc8f92ee380e4fbc
MIT
Qwen/Qwen-72B
1. YES
2. YES