-
Notifications
You must be signed in to change notification settings - Fork 0
/
logistic.py
83 lines (48 loc) · 1.64 KB
/
logistic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# -*- coding: utf-8 -*-
"""
Created on Sun Mar 26 14:46:39 2017
@author: bklimowski
"""
"""
Import pakietów, numpy służy do obliczeń numerycznych, dostarcza pythonowi funkcjonalnośći matlaba. Matplotlib generuje wykresy.
Do funkcji dostarczanych przez pakiet dostajemy się następująco:
<nazwa_pakietu>.<funkcja> na przykład np.zeros(100) [generuje wektor 100 zer]
Dla formalności przypomnę, że w pythonie intendancja determinuje działanie programu.
Nie korzysta się z sredników,klamerek itp.
"""
import numpy as np
import matplotlib.pyplot as plt
"""
Funkcje definujemy:
def nazwa_funkcji(argument1,argument2):
<jakieś działania na argumentach>
return 4000
Poniżej jest przykład funkcji generującej odwzorowanie logisyczne, wykreśla
również ten szereg i jego przekrój Poincare.
"""
def logistic_map(x0,r,n,view_plot):
#x0 - warunek początkowy
#r - parametr odwzorowania
#n - długość szeregu
#view_plot - jeżeli 1 rysuje wykresy
#inicializacja wektora, przypisanie wartości początkowej
logistic_series = np.zeros(n)
logistic_series[0] = x0
"""
Przykład pętli for
for jj in <zakres>:
print jj
zakresem może być właściwie każdy typ zmiennej, str,char też.
"""
for ii in np.arange(1,n):
tmp= r*logistic_series[ii-1]*(1-logistic_series[ii-1])
logistic_series[ii] = np.mod(tmp,1)
#Narysowanie wykresów
if view_plot==1:
plt.figure(1)
plt.subplot(311)
plt.plot(logistic_series)
plt.subplot(212)
plt.plot(logistic_series[1:-2],logistic_series[2:-1],'o')
plt.show()
return logistic_series