Még egyszer pí-nap van (március 14-én – ami olyan, mint a pí első számjegyei: 3 és 14). Mielőtt belemennénk a pí idei ünnepébe, hadd foglaljam össze a legfontosabb dolgokat erről a félelmetes számról.
- Az USA-n kívül a pí napjának valószínűleg július 22-nek (22/7) kellene lennie – ez a tört szám meglepően jól becsüli a pí értékét.
- Meg lehet találni a pí értékét egy tömeg és egy rugó segítségével.
- A pi értéke összefügg a helyi gravitációs mezővel.
- Megtalálhatod a pi értékét véletlen számok segítségével (ez a kedvencem).
- És végül – van kapcsolat a pi, e, 1, 0 és i (a képzeletbeli szám) között.
De ma egy numerikus integrál segítségével fogom kiszámítani a pi értékét. Mit jelent ez egyáltalán? Hadd kezdjem egy példával – hogyan találjuk meg egy félkör területét?
A kör területe pi szorozva a sugár négyzetével. Ez egy 1 sugarú (egység nélküli) kör fele úgy, hogy a területe pi/2 lenne. Ha más módszerrel találom meg a területet, akkor ezt a területet egyszerűen megszorozom 2-vel, és megkapom pi-t. Ez a terv.
De hogyan találod meg valamilyen alakzat – vagy bármilyen alakzat – területét? Itt jön jól a számtan. A félkör területét úgy találom meg, hogy összeadom egy csomó téglalap területét. Kiderült, hogy egy téglalap területét elég könnyű megtalálni. Hadd rajzoljak néhány téglalapot abba a félkörbe, hogy lássátok, mire gondolok.
Az egyes vékony téglalapok területét az “alap szorozva a magassággal” képlettel találhatjuk meg. Egy téglalapnak “y” a magassága és “dx” az alapja, ahol a dx csak egy tetszőleges hossz az x tengely mentén. A magasság tényleges értékét meg tudom találni, mert a téglalap teteje a körre esik, ahol ez a magasság a kör egyenletéből megtalálható.
Most már csak össze kell adnom ezeket a téglalapokat – bumm, megvan a fél kör területe. Ezt a területek összegeként így tudom leírni:
De várjunk csak! Ez nem egy rossz közelítése a kör (félkör) tényleges területének? Igen, ez valóban így van – de ez valóban ezeknek az apró területi téglalapoknak a szélességétől függ. Valójában, ha a szélesség (dx) nullára csökkenő határértékét veszem, akkor a pontos területet kapom. Ez tulajdonképpen az integrál definíciója a számtanban – de ezt egy másik napra tartogatom. Ehelyett numerikus számítást fogunk végezni, egyszerűen összeadva egy csomó téglalap területét. Ezt persze kézzel is megtehetnéd, de unalmas lehet. Ehelyett csináljuk ezt egy számítógépes programmal. Ja.
Itt a numerikus számítás python nyelven. A “play” gomb megnyomásával nyugodtan futtathatod a kódot, de alább adok néhány kódkommentárt.
Megváltoztathatod a kódot, ha ez boldoggá tesz – itt van néhány dolog, amit érdemes figyelembe venni.
- Ez egy numerikus számítás. Ez azt jelenti, hogy a program csak számokkal foglalkozik. Technikailag a területnek m2 vagy valami hasonló egységgel kellene rendelkeznie, de itt nem. Csak számok.
- A pythonban a ciklusok esetében minden, ami tabulátoros, a ciklus részeként szerepel. Ha egyszer elvonatkoztatod, akkor már nem hurokban van.
- A 18. sornak furcsán kell kinéznie, mert az is. Ha ezt algebrai egyenletnek tekinted, az A-nak ki kellene törlődnie, mivel az egyenlet mindkét oldalán szerepel – de ez nem egyenlet. A pythonban (és a legtöbb más nyelven) az “=” azt jelenti, hogy “tegyük egyenlővé”. Ez a sor elveszi A régi értékét, hozzáadja az új dolgokat, majd A új értékévé teszi.
Ez a kezdeti számítás dx értéke 0,1. Ez azt jelenti, hogy csak 20 téglalapot kell összeadni, és megkapjuk a félkör területét. Ezzel 3,10452-es közelítő pi értéket kapok – ami nyilvánvalóan nem pontos pi. Természetesen jobb becslést is készíthetek, ha kisebb szélességű téglalapokat készítek. Ezt a fenti kód megváltoztatásával érdemes kipróbálni (tipp: változtasd meg a dx értékét). Mivel azonban ezt nem hagyhatom annyiban, íme egy grafikon a pi értékéről különböző lépésméretek esetén.
Talán nem ez a legjobb grafikon – de egyelőre elég jó. Ha meg akarod nézni ennek a plotnak a kódját, tessék. De a végén az érték valóban megközelíti a pi várható értékét. Lehet, hogy ezzel a módszerrel nem kapod meg a pi egymillió számjegyét, de talán legalább tanulhatsz valamit az integrálásról.