La successione di Fibonacci -...
Transcript of La successione di Fibonacci -...
![Page 1: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/1.jpg)
La successione di Fibonacci
In[1]:=
Fib[0] = 1;Fib[1] = 1;Fib[m_] := Fib[m] = Fib[m-1] + Fib[m-2]
In[4]:=
?FibGlobal`FibFib[0] = 1 Fib[1] = 1 Fib[m_] := Fib[m] = Fib[m - 1] + Fib[m - 2]
In[5]:=
Fib[5]Out[5]=
8
Lezione 5 / 1
![Page 2: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/2.jpg)
In[6]:=
?FibGlobal`FibFib[0] = 1 Fib[1] = 1 Fib[2] = 2 Fib[3] = 3 Fib[4] = 5 Fib[5] = 8 Fib[m_] := Fib[m] = Fib[m - 1] + Fib[m - 2]
In[7]:=
Table[Fib[m],{m,1,12}]Out[7]=
{1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233}
Lezione 5 / 2
![Page 3: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/3.jpg)
In[8]:=
g1 = ListPlot[%,Axes->False,Frame->True]
0 2 4 6 8 10 12
0
50
100
150
200
Out[8]=
-Graphics-In[9]:=
Table[Fib[m]/Fib[m-1] - 1,{m,1,24}]Out[9]=
1 2 3 5 8 13 21 34 55{0, 1, -, -, -, -, --, --, --, --, --, - - - - - 2 3 5 8 13 21 34 55 89 89 144 233 377 610 987 1597 ---, ---, ---, ---, ---, ----, ----, -- -- -- -- -- --- --- 144 233 377 610 987 1597 2584 2584 4181 6765 10946 17711 ----, ----, -----, -----, -----, --- --- ---- ---- ---- 4181 6765 10946 17711 28657 28657 -----} ---- 46368
Lezione 5 / 3
![Page 4: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/4.jpg)
In[10]:=
N[%,8]Out[10]=
{0, 1., 0.5, 0.66666667, 0.6, 0.625, 0.61538462, 0.61904762, 0.61764706, 0.61818182, 0.61797753, 0.61805556, 0.61802575, 0.61803714, 0.61803279, 0.61803445, 0.61803381, 0.61803406, 0.61803396, 0.618034, 0.61803399, 0.61803399, 0.61803399, 0.61803399}
In[11]:=
N[(1 + Sqrt[5])/2 - 1,8]Out[11]=
0.61803399
Lezione 5 / 4
![Page 5: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/5.jpg)
Modello di crescita a tasso costante
(* i = popolazione iniziale, k = tasso di crescita *)
In[12]:=
TassoCostante[i_,k_] := (Clear[p]; p[0] = i; p[t_] := p[t] = (1 + k) p[t-1])
In[13]:=
TassoCostante[1,N[(1 + Sqrt[5])/2 - 1]] In[14]:=
Table[p[t],{t,1,12}]Out[14]=
{1.61803, 2.61803, 4.23607, 6.8541, 11.0902, 17.9443, 29.0344, 46.9787, 76.0132, 122.992, 199.005, 321.997}
In[15]:=
Round[%]Out[15]=
{2, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322}
Lezione 5 / 5
![Page 6: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/6.jpg)
In[16]:=
g2 = ListPlot[%,Axes->False,Frame->True]
0 2 4 6 8 10 12
0
50
100
150
200
250
300
Out[16]=
-Graphics-
Lezione 5 / 6
![Page 7: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/7.jpg)
In[17]:=
ListPlot[Map[Log,%%], Axes->False,Frame->True]
0 2 4 6 8 10 12
0
1
2
3
4
5
Out[17]=
-Graphics-In[18]:=
Fit[N[Map[Log,%%%]],{1,t},t]Out[18]=
0.0991273 + 0.469884 t
Lezione 5 / 7
![Page 8: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/8.jpg)
In[19]:=
Plot[E^%,{t,1,12}, Axes->False,Frame->True]
0 2 4 6 8 10 12
0
50
100
150
200
250
300
Out[19]=
-Graphics-
Lezione 5 / 8
![Page 9: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/9.jpg)
In[20]:=
Show[%,g1,g2]
0 2 4 6 8 10 12
0
50
100
150
200
250
300
Out[20]=
-Graphics-In[21]:=
Table[ListPlot[TassoCostante[1,k]; Table[p[t],{t,1,12}], Axes->False,Frame->True, PlotJoined->True, DisplayFunction->Identity], {k,0.,1.,.2}]
Out[21]=
{-Graphics-, -Graphics-, -Graphics-, -Graphics-, -Graphics-, -Graphics-}
Lezione 5 / 9
![Page 10: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/10.jpg)
In[22]:=
Show[%,DisplayFunction->$DisplayFunction]
0 2 4 6 8 10 12
0
50
100
150
200
250
Out[22]=
-Graphics-
Lezione 5 / 10
![Page 11: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/11.jpg)
Modello di crescita limitata
(* i = popolazione iniziale, m = popolazione ottimale k = tasso teorico di crescita senza limiti di sviluppo *)
In[23]:=
Verhulst[i_,m_,k_] := (Clear[p]; p[0] = i; p[t_] := p[t] = (1 + k(1 - p[t-1]/m)) p[t-1])
In[24]:=
Verhulst[1,10,.1]In[25]:=
ListPlot[Table[p[t],{t,1,60}], Axes->False,Frame->True,PlotRange->All]
0 10 20 30 40 50 60
2
4
6
8
10
Out[25]=
-Graphics-
Lezione 5 / 11
![Page 12: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/12.jpg)
In[26]:=
Verhulst[1,10,.5]In[27]:=
ListPlot[Table[p[t],{t,1,60}], Axes->False,Frame->True,PlotRange->All]
0 10 20 30 40 50 60
2
4
6
8
10
Out[27]=
-Graphics-
Lezione 5 / 12
![Page 13: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/13.jpg)
In[28]:=
Verhulst[1,10,1.5]In[29]:=
ListPlot[Table[p[t],{t,1,60}], Axes->False,Frame->True,PlotRange->All]
0 10 20 30 40 50 60
4
6
8
10
Out[29]=
-Graphics-
Lezione 5 / 13
![Page 14: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/14.jpg)
In[30]:=
Verhulst[1,10,1.9]In[31]:=
ListPlot[Table[p[t],{t,1,60}], Axes->False,Frame->True,PlotRange->All]
0 10 20 30 40 50 60
4
6
8
10
Out[31]=
-Graphics-
Lezione 5 / 14
![Page 15: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/15.jpg)
In[32]:=
Verhulst[1,10,2.1]In[33]:=
ListPlot[Table[p[t],{t,1,60}], Axes->False,Frame->True,PlotRange->All]
0 10 20 30 40 50 60
4
6
8
10
Out[33]=
-Graphics-
Lezione 5 / 15
![Page 16: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/16.jpg)
In[34]:=
Verhulst[1,10,2.5]In[35]:=
ListPlot[Table[p[t],{t,1,120}], Axes->False,Frame->True,PlotRange->All]
0 20 40 60 80 100 120
4
6
8
10
12
Out[35]=
-Graphics-
Lezione 5 / 16
![Page 17: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/17.jpg)
In[36]:=
Verhulst[1,10,2.55]In[37]:=
ListPlot[Table[p[t],{t,1,120}], Axes->False,Frame->True,PlotRange->All]
0 20 40 60 80 100 120
4
6
8
10
12
Out[37]=
-Graphics-
Lezione 5 / 17
![Page 18: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/18.jpg)
In[38]:=
Verhulst[1,10,2.95]In[39]:=
ListPlot[Table[p[t],{t,1,360}], Axes->False,Frame->True,PlotRange->All]
0 50 100 150 200 250 300 350
2
4
6
8
10
12
Out[39]=
-Graphics-
Lezione 5 / 18
![Page 19: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/19.jpg)
In[40]:=
Table[Verhulst[1.,10.,k]; Take[Table[{k,p[i]},{i,400}],-100], {k,1.,3.,.01}];
In[41]:=
ListPlot[Apply[Join,%], Axes->False,Frame->True, PlotStyle->{PointSize[0.002]}]
1 1.5 2 2.5 3
0
2
4
6
8
10
12
Out[41]=
-Graphics-
Lezione 5 / 19
![Page 20: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/20.jpg)
Proiezioni cartografiche
In[42]:=
Planisfero = -Graphics-Out[42]=
-Graphics-In[43]:=
Show[Planisfero,Frame->True];
-10000 -5000 0 5000 10000
-4000
-2000
0
2000
4000
In[44]:=
Show[% /. p_Polygon :> {Hue[Random[]],p}]
-10000 -5000 0 5000 10000
-4000
-2000
0
2000
4000
Out[44]=
-Graphics-
Lezione 5 / 20
![Page 21: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/21.jpg)
In[45]:=
Emisfero = -Graphics-Out[45]=
-Graphics-In[46]:=
Show[Emisfero,Frame->True]
-10000 -5000 0 5000 100000
1000
2000
3000
4000
5000
Out[46]=
-Graphics-In[47]:=
% /. {x_?NumberQ,y_?NumberQ} :> {x,y} N[Degree/60]
Out[47]=
-Graphics-In[48]:=
% /. {x_?NumberQ,y_?NumberQ} :> 2 Tan[Pi/4 - y/2] {Cos[x],Sin[x]}
Out[48]=
-Graphics-
Lezione 5 / 21
![Page 22: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/22.jpg)
In[49]:=
Show[%,Frame->False, PlotRange->{{-2,2},{-2,2}}]
Out[49]=
-Graphics-
Lezione 5 / 22
![Page 23: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/23.jpg)
In[50]:=
Show[Graphics[{RGBColor[0.5, 1.0, 0.9], Disk[{0,0},2]}], AspectRatio->Automatic]
Out[50]=
-Graphics-
Lezione 5 / 23
![Page 24: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/24.jpg)
In[51]:=
Show[%,%% /. p_Polygon :> {RGBColor[.7,.6,.5],p}]
Out[51]=
-Graphics-
Lezione 5 / 24
![Page 25: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/25.jpg)
In[52]:=
Show[%, Graphics[ Table[Circle[{0,0},r],{r,0,2,.5}]], Graphics[ Table[Line[{{0,0}, {2Cos[a],2Sin[a]}}], {a,0,2Pi,Pi/4}]]]
Out[52]=
-Graphics-
Lezione 5 / 25
![Page 26: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/26.jpg)
Come modificare il sistema
(* da completare *)
Lezione 5 / 26
![Page 27: La successione di Fibonacci - mat.unicam.itmat.unicam.it/piergallini/home/seminari/mathematica/5lezioni/lezion… · In[8]:= g1 = ListPlot[%,Axes->False,Frame->True] 0 2 4 6 8 10](https://reader034.fdocuments.in/reader034/viewer/2022050408/5f856e4d4b73a86cb2356fe7/html5/thumbnails/27.jpg)
Attributi e opzioni
(* da completare *)
Lezione 5 / 27