import matplotlib.pyplot as plt
import numpy as np
colors = ["b", "g", "r"]
for precision in (3, 11, 1111):
xs = np.linspace(0, 10, precision)
ys = np.sin(xs)
plt.plot(xs, ys, colors[0])
colors.pop(0)
plt.show()
def stepFunction(x: float) -> float:
if x < 0:
return -1
elif x < 2:
return 0
else:
return 1
np.vectorize(stepFunction)(np.array([1.1, -2, 4.4]))
array([ 0, -1, 1])
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
print(a[a < 0])
[-0.09]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
#mask = np.logical_and(a >= 0, a <= 1)
#mask = (a >= 0) & (a <= 1)
mask = np.array([False, True, True, True, False, True])
print(mask)
print(a[mask])
print(a)
[False True True True False True] [0.57 0.64 0.14 0.96] [ 1.01 0.57 0.64 0.14 -0.09 0.96]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
a[4] = 0
print(a)
a[1:4] *= 2
print(a)
[1.01 0.57 0.64 0.14 0. 0.96] [1.01 1.14 1.28 0.28 0. 0.96]
a = np.zeros(41)
midpoint = len(a)//2 + len(a)%2
for idx in range(0, midpoint):
a[idx] = idx
a[-1-idx] = idx
print(a)
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 19. 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]
a = np.zeros(41)
midpoint = len(a)//2 + len(a)%2
for idx in range(0, midpoint):
a[idx:-idx] = idx
print(a)
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.]
a = np.zeros((7, 7))
midpoint = len(a)//2 + len(a)%2
for idx in range(0, midpoint):
a[idx:-idx, idx:-idx] = idx
print(a)
[[0. 0. 0. 0. 0. 0. 0.] [0. 1. 1. 1. 1. 1. 0.] [0. 1. 2. 2. 2. 1. 0.] [0. 1. 2. 3. 2. 1. 0.] [0. 1. 2. 2. 2. 1. 0.] [0. 1. 1. 1. 1. 1. 0.] [0. 0. 0. 0. 0. 0. 0.]]
lst = [1, 2, 3, 4, 5]
print(lst[1:])
#lst[1:] = 1
lst[1:] = [1, 1, 1, 1]
print(lst)
[2, 3, 4, 5] [1, 1, 1, 1, 1]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
mask = a < 0
a[mask] += 1
#a[a < 0] += 1
print(a)
[1.01 0.57 0.64 0.14 0.91 0.96]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
mask = a < 0
a[mask] += 1
a[mask] *= 2
print(a)
[1.01 0.57 0.64 0.14 1.82 0.96]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
mask = a < 0
a[mask] += 1
#a[np.logical_not(mask)] *= 2
a[~mask] *= 2
print(a)
[2.02 1.14 1.28 0.28 0.91 1.92]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
b = np.where(
a < 0,
a * -1,
a * 2
)
print(b)
print(a)
[2.02 1.14 1.28 0.28 0.09 1.92] [ 1.01 0.57 0.64 0.14 -0.09 0.96]
a = np.array([1.01, 0.57, 0.64, 0.14, -0.09, 0.96])
clamped = np.where(
a < 0, # if val < 0:
0, # use 0
np.where(
a > 1, # elif val > 1:
1, # use 1
a # else: original value
)
)
print(clamped)
[1.01 0.57 0.64 0.14 0. 0.96]