Drobne poprawki, autor, instrukcja itp.

This commit is contained in:
BartN 2021-02-18 12:21:15 +01:00
parent d9e804af21
commit 6332037f1a
2 changed files with 27 additions and 16 deletions

View File

@ -1936,14 +1936,14 @@
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.0"
"pygments_lexer": "ipython2",
"version": "2.7.15"
},
"varInspector": {
"cols": {

View File

@ -4,13 +4,23 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pola figur: całkowanie analityczne i metodą Monte Carlo\n",
"# Przygotowanie innowacyjnych materiałów szkoleniowych i dokumentacji wewnętrznych w obszarze IT\n",
"\n",
"## 4. Jupyter - Pola figur: całkowanie analityczne i metodą Monte Carlo\n",
"### <i>Bartosz Naskręcki</i>\n",
"\n",
"W jaki sposób można obliczyć pole figury o zadanym kształcie, który jest trudny do analitycznego opisu?\n",
"W tym pliku przedyskutujemy sposób obliczania pól figur oparty na metodach losowych z wykorzystaniem prostych spacerów losowych. Porównamy wyniki z obliczeniami analitycznymi na konkretnym przykładzie.\n",
"\n",
"<div class=\"alert alert-block alert-info\"> \n",
"Aby wzbogacić nasz repertuar matematyczny wykorzystamy w tym pliku funkcjonalność SageMath - obszernej biblioteki, która rozwija metody symboliczne Pythona. Do uruchomienia tego pliku będziesz potrzebować jądra \"SageMath\" w wersji co najmniej 8.9. Bez instalacji ten plik można rekompilować np. w przeglądarkowej wersji SageMath pod adresem cocalc.com.</div>"
"Aby wzbogacić nasz repertuar matematyczny wykorzystamy w tym pliku funkcjonalność SageMath - obszernej biblioteki, która rozwija metody symboliczne Pythona. Do uruchomienia tego pliku będziesz potrzebować jądra \"SageMath\" w wersji co najmniej 8.9. Bez instalacji ten plik można rekompilować np. w przeglądarkowej wersji SageMath pod adresem cocalc.com.</div>\n",
"\n",
"\n",
"Metody instalacji SageMath:\n",
" * bezpośrednie pobranie paczki i instalacja ze strony sagemath.org\n",
" * uruchomienie SageMath w cocalc.com\n",
" * instalacja z linii komend (Linux): \n",
" `sudo apt install sagemath-common sagemath-jupyter`"
]
},
{
@ -41,7 +51,7 @@
],
"source": [
"x,y=var('x,y')\n",
"implicit_plot((x**2+y**2)**2-2*(x**2-y**2),(x,-2,2),(y,-2,2),figsize=[5,5],ymax=1,ymin=-1,xmin=-2,xmax=2)"
"show(implicit_plot((x**2+y**2)**2-2*(x**2-y**2),(x,-2,2),(y,-2,2),figsize=[5,5],ymax=1,ymin=-1,xmin=-2,xmax=2))"
]
},
{
@ -298,7 +308,7 @@
],
"source": [
"#wykres licznika pochodnej\n",
"plot(licznik,(x,0,sqrt(2)),figsize=[3,3])"
"show(plot(licznik,(x,0,sqrt(2)),figsize=[3,3]))"
]
},
{
@ -589,7 +599,7 @@
}
],
"source": [
"parametric_plot((sqrt(2*cos(2*t))*cos(t),sqrt(2*cos(2*t))*sin(t)),(t,0,pi/4) ,figsize=[3,3])"
"show(parametric_plot((sqrt(2*cos(2*t))*cos(t),sqrt(2*cos(2*t))*sin(t)),(t,0,pi/4) ,figsize=[3,3]))"
]
},
{
@ -610,7 +620,7 @@
}
],
"source": [
"parametric_plot((-sqrt(2*cos(2*t))*cos(t),-sqrt(2*cos(2*t))*sin(t)),(t,-pi/4,pi/4),figsize=[3,3])"
"show(parametric_plot((-sqrt(2*cos(2*t))*cos(t),-sqrt(2*cos(2*t))*sin(t)),(t,-pi/4,pi/4),figsize=[3,3]))"
]
},
{
@ -828,7 +838,7 @@
],
"source": [
"r=random() #zmienna o rozkładzie jednostajnym i wartościac w przedziale [0,1]\n",
"list_plot([random() for i in range(0,100)],figsize=[3,3])"
"show(list_plot([random() for i in range(0,100)],figsize=[3,3]))"
]
},
{
@ -961,7 +971,7 @@
"teksty=text(\"(1/4,1/8)\",(1/4+0.4,1/8))+text(\"(0,1)\",(+0.2,1-0.1))\n",
"teksty+=text(\"Lemniskata $(x^2+y^2)^2=2(x^2-y^2)$\", (0.0,1.3), background_color=(1,1,0.8),fontsize=8)\n",
"\n",
"lem+pt+teksty"
"show(lem+pt+teksty)"
]
},
{
@ -1005,7 +1015,7 @@
}
],
"source": [
"list_plot([PoleLemniskaty(1000*k) for k in range(1,10)],figsize=[3,3])"
"show(list_plot([PoleLemniskaty(1000*k) for k in range(1,10)],figsize=[3,3]))"
]
},
{
@ -1284,7 +1294,8 @@
],
"source": [
"#graf łańcucha Markowa\n",
"g = DiGraph({-1: [-1,0,1], 0: [-1,0,1],1: [-1,0,1]}); g"
"g = DiGraph({-1: [-1,0,1], 0: [-1,0,1],1: [-1,0,1]}); \n",
"show(g)"
]
},
{
@ -1707,10 +1718,10 @@
],
"source": [
"li=[CalkowanieMarkowa((randint(0,40),randint(0,40)),2000,40,S1,-sqrt(2).n(),2*sqrt(2).n(),-1/2,1)*1.0 for i in [1..100]] \n",
"print sum(li)/len(li) #wartość średnia po wielu iteracjach\n",
"print(sum(li)/len(li)) #wartość średnia po wielu iteracjach\n",
"li.sort()\n",
"print li[floor(len(li)/2)] #wartość środkowa (mediana)\n",
"list_plot(li)"
"print(li[floor(len(li)/2)]) #wartość środkowa (mediana)\n",
"show(list_plot(li))"
]
},
{