• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Mar 26th, 2019 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. import matplotlib.pyplot as plt
2. import numpy as np
3. import math
4. y0 = 5           #temp poczatakowa
5. a = 1.5
6. T = 8
7. h = 0.01
8. y_set = 22           # t*  temp zadane
9. u_max = 70
10. u_min = 10
11. d = 0.2
12. M = 0.25
13.
14. def fu(e):
15.     if (e >= M + d):
16.         return u_max
17.     if (e < M + d and e >= -M - d):
18.         return y_set
19.     if (e < -M - d):
20.         return u_min
21.
22. t = np.arange(0, T, h)
23. y = np.empty(t.size)
24. us = np.empty(t.size)
25. es = np.empty(t.size)
26.
27. y[0] = y0
28. us[0] = y_set
29. es[0] = y_set - y[0]
30.
31. for i in range(0, t.size-1):
32.     es[i+1] = y_set - y[i]
33.     us[i + 1] = fu(es[i+1])
34.     y[i + 1] = y[i] + h * ((us[i] - y[i])/a)
35.
36. plt.figure(1)
37. plt.subplots_adjust(hspace = 0.4)
38. plt.subplot(311)
39. plt.xlabel("t")
40. plt.ylabel("e(t)")
41. plt.plot(t, es, 'o-', markersize=1)
42. # plt.hlines(0,0, T,'r','dashed')
43. #plt.axis([20, 100, -20, 50])
44.
45.
46. plt.subplot(312)
47. plt.plot(t, y, 'r-', markersize=1)
48. plt.xlabel("t")
49. plt.ylabel("y(t)")
50. # plt.hlines(d+ M + y_set,0, T,'y' ,'dashed')
51. # plt.hlines(y_set, 0, T, 'b', 'dashed')
52. # plt.hlines(y_set - M -d,0, T,'y' ,'dashed')
53. # plt.axis([0, 100, 120, 200])
54.
55.
56. plt.subplot(313)
57. plt.plot(t, us, 'r-', markersize=1)
58. plt.xlabel("t")
59. plt.ylabel("u(t)")
60.
61. plt.show()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!

Top