Files
  • main.py
  • graph.png
main.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
#----------------------------------------------#
# Program för att studera gränsvärdena 
# som bildas för uttrycken 
# (1+1/u)^u och (1+1/u)^(u+1) 
# då u går mot oändligheten
#
# Problemställningen och den 
# bakomliggande matematiken finns presenterad i 
# artikeln: 
# "Ekvationen x^y=y^x - 
# Exempel på problemlösning med hjälp 
# av programmering" publicerad i
# Nämnaren 2018:3
#
# Anders Johansson
# Vuxenutbildningen Falkenberg
#----------------------------------------------#

# Importera math för att kunna använda math.e
import math

# Importera matplotlib för att kunna 
# skapa en graf
import matplotlib.pyplot as plt 

# Definiera en funktion som beräknar x(u)
def x(u):
  return (1+1/u)**u

# Definiera en funktion som beräknar y(u)
def y(u):
  return (1+1/u)**(u+1)

# Ange antal värden som ska beräknas 
# för gränsvärdena
n=500
#n=1000000

pArray=[]
xArray=[]
yArray=[]

for p in range(1,n+1):
  pArray.append(p)
  xArray.append(x(p))
  yArray.append(y(p))
#endfor

print('Sista x-värde:',xArray[n-1])
print('Kvot: x/e=',xArray[n-1]/math.e)
print() # Skriv ut en tom rad
print('Sista y-värde:',yArray[n-1])
print('Kvot: y/e=',yArray[n-1]/math.e)
print() # Skriv ut en tom rad
print('Exakt värde: e=',math.e)

# Skapa grafen för x- och y-värden och visa den
plt.plot(pArray,xArray, 'r', label='x')
plt.plot(pArray,yArray, 'b--', label='y')
plt.xlabel('u')
plt.legend()
plt.grid(True)

plt.show()
plt.savefig('graph.png')
Python 3.6.1 (default, Dec 2015, 13:05:11) [GCC 4.8.2] on linux