Kód od umělé inteligence (AI)

8. Kód od umělé inteligence (AI)#

V této úloze vyjdeme z kódu, který vygenerovala umělá inteligence, a budeme tento kód modifikovat tak, aby řešil model na delším časovém intervalu.

V AnacondaCloud jsem oslovil Asistenta AI s následujícím dotazem.

8.1. User#

Chci modelovat ochlazování kávy pomocí Newtonova zákona ochlazování. Vygeneruj mi kód, který řeší příslušnou diferenciální rovnici. Použij knihovnu scipy.

8.2. Assistant#

Samozřejmě! Pro řešení diferenciální rovnice pomocí Newtonova zákona ochlazování můžeme použít knihovnu scipy. Nejprve musíme nainstalovat tuto knihovnu, pokud ji ještě nemáme nainstalovanou. Můžeme to udělat pomocí příkazu !pip install scipy. Poté můžeme začít s kódem.

Začneme importem potřebných knihoven a definicí diferenciální rovnice:

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

# Definice diferenciální rovnice
def newtonuv_zakon_ochlazovani(T, t, k):
    dTdt = -k * (T - T_okolni)
    return dTdt

Následně musíme definovat počáteční podmínku, časový interval a konstantu ochlazování:

# Počáteční podmínka
T0 = 90

# Časový interval
t = np.linspace(0, 10, 100)

# Konstanta ochlazování
k = 0.1

# Teplota okolí
T_okolni = 25

Nakonec můžeme použít funkci odeint z knihovny scipy k řešení diferenciální rovnice a vykreslit výsledky:

# Řešení diferenciální rovnice
T = odeint(newtonuv_zakon_ochlazovani, T0, t, args=(k,))

# Vykreslení výsledků
plt.plot(t, T)
plt.xlabel('Čas')
plt.ylabel('Teplota')
plt.title('Ochlazování kávy')
plt.grid(True)
plt.show()

Tímto kódem bychom měli získat graf závislosti teploty kávy na čase.


Konec odpovědi od bota a spuštění kódu potvrdí předpoklad. Dostaneme následující obrázek.

8.3. Úkol#

Knihovna SciPy nainstalována je, takže první část odpovědi přejdeme.

  • Vykopírujte si všechny části kódu do odpovědního políčka a ověřte (zatím bez odeslání odpovědi, tj. tlačítkem Precheck), že dostanete uvedený obrázek.

  • Poté se snažte odstranit evidentní nedostatek, že nevidíme, jak teplota chladne k teplotě místnosti. Zkusme prodloužit čas simulace. Z grafu to vypadá, že simulace končí po deseti časových jednotkách. Pokuste se lokalizovat místo, kde je toto v programu nastaveno. Poté opravte na 50 časových jednotek. Jinak nic neměňte a sledujte, jestli se obrázek změní tak, že uvidíme, jak se pokles teploty zpomaluje.