numpy ﻮﻟﺭﺎﮐ ﺖﻧﻮﻣ ﯼﺎﻬﺷﻭﺭ ﻭ ﯽﻓﺩﺎﺼﺗ ﯼﺎﻫﺪﻨﯾﺁﺮﻓ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﯼﺍﺮﺑ
.ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﯼﻮﻗ ﯽﺗﺎﺒﺳﺎﺤﻣ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﯼﺍﺮﺑ NumPy ﺯﺍ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯾﺮﯿﮕﺑ ﺩﺎﯾ
.ﺪﻨﮐ ﻞﯿﻠﺤﺗ ﻭ ﻪﯾﺰﺠﺗ ﺎﻫ ﻪﺘﺳﺍﻮﺧ ﺎﺑ ﺍﺭ ﺎﻫ ﺖﯿﻌﻗﻮﻣ ﻭ ﺎﻫﺮﺘﻣﺍﺭﺎﭘ ﺎﺑ ﺍﺭ ﺎﻫﺰﯿﭼ ﺪﻧﺍﻮﺗ ﯽﻣ
Numpy ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﯽﻌﻗﺍﻭ ﺞﯾﺎﺘﻧ ﺎﯾ ﺮﯾﺩﺎﻘﻣ ﺐﯾﺮﻘﺗ ﯼﺍﺮﺑ ﺮﺗﻻﺎﺑ ﺩﺍﺪﻋﺍ ﺭﺩ ﯽﻓﺩﺎﺼﺗ ﯼﺮ
.ﻢﯾﻮﺷ ﻥﺁ ﺩﺭﺍﻭ ﺪﯿﯾﺎﯿﺑ ؟ﻢﯿﻫﺩ ﻡﺎﺠﻧﺍ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ﻪﻧﻮﮕﭼ .ﻢﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻮﻟﺭﺎﮐ ﺖﻧﻮﻣ ﯼﮊﻮ
NumPy ﺎﺑ ﯽﻓﺩﺎﺼﺗ ﺪﻨﯾﺁﺮﻓ ﯼﺯﺎﺳ ﻪﯿﺒﺷ
.ﺪﯿﻨﮐ ﺐﺼﻧ ﺍﺭ ﻥﺁ ، ﺪﯾﺍ ﻩﺩﺮﮑﻧ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ﺮﮔﺍ ﺎًﻔﻄﻟ .ﻢﯾﺭﺍﺩ ﺯﺎﯿﻧ ﻩﺩﺎﻣﺁ numpy ﻪﺘﺴﺑ ﻪ
pip install numpy
.ﻢﯿﻨﮐ ﻢﯿﻈﻨﺗ ﯼﺮﯾﺬﭘﺭﺍﺮﮑﺗ ﺪﻧﻭﺭ ﯼﺍﺮﺑ ﺭﺬﺑ ﺩﺪﻋ ﮏﯾ ﺪﯾﺭﺍﺬﮕﺑ ، ﻥﺁ ﺯﺍ ﻞﺒﻗ .ﻢﯿﻨﮐ ﯽﻓﺩﺎﺼﺗ ﺪ
import numpy as np
np.random.seed(100)
.ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﯽﻓﺩﺎﺼﺗ ﺩﺪﻋ ﮏﯾ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺮﯾﺯ ﺪﮐ ﺎﺑ .ﻢﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍﺭ ﻩﺩﺎﺳ ﯽﻓﺩﺎﺼﺗ ﺩﺍﺪﻋ
np.random.rand(5)
Output>>
array([0.54340494, 0.27836939, 0.42451759, 0.84477613, 0.00471886])
.ﺪﻨﮐ ﯽﻣ ﻢﯿﺳﺮﺗ ﺍﺭ ﯼﺩﺎﻋ ﻊﯾﺯﻮﺗ ﺯﺍ ﯼﺩﺍﺪﻌﺗ ﺪﮐ ﻦﯾﺍ ، ﻝﺎﺜﻣ ﻥﺍﻮﻨﻋ ﻪﺑ .ﺖﺳﺍ ﺮﯾﺬﭘ ﻥﺎﮑﻣﺍ ﺰ
np.random.normal(0, 1, 10)
Output>>
array([ 0.35467445, -0.78606433, -0.2318722 , 0.20797568, 0.93580797,
0.17957831, -0.5771615 , -0.53337271, -0.22540212, -0.31491934])
.ﺖﺳﺍ ﯽﻓﺩﺎﺼﺗ ﯼﻭﺭ ﻩﺩﺎﯿﭘ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﻢﯿﻨﮐ ﯽﻣ ﻥﺎﺤﺘﻣﺍ ﺎﻣ ﻪﮐ ﯼﺰﯿﭼ ﻦﯿﻟﻭﺍ .ﻢﯿﻫﺩ ﻡﺎﺠﻧﺍ ﯽﻓ
.ﺪﻨﮐ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺍﺭ ﻡﺎﻬﺳ ﺖﻤﯿﻗ ﻥﺎﺳﻮﻧ ﯽﮕﻧﻮﮕﭼ ﺎﯾ ﻞﮕﻨﺟ ﺭﺩ ﺕﺎﻧﺍﻮﯿﺣ ﺖﮐﺮﺣ ﻩﻮﺤﻧ ﺪﻧﺍﻮﺗ ﯽﻣ
.ﻢﯿﻨﮐ ﻢﯿﻈﻨﺗ ﯽﻓﺩﺎﺼﺗ ﯼﻭﺭ ﻩﺩﺎﯿﭘ ﮏﯾ ﯼﺍﺮﺑ ﺍﺭ ﺪﮐ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺪﯿﯾﺎﯿﺑ
def random_walk_1d(steps):
walk = np.random.choice([-1, 1], size=steps)
position = np.cumsum(walk)
return position
.ﻢﯿﻨﮐ ﯽﻣ ﻪﺻﻼﺧ ، ﺖﺳﺍ ﺺﺨﺸﻣ ﻪﻠﺣﺮﻣ ﺮﻫ ﺭﺩ ﯼﻭﺭ ﻩﺩﺎﯿﭘ ﻪﮐ ﯽﯾﺎﺟ ﻥﺪﯾﺩ ﯼﺍﺮﺑ ﺍﺭ ﻞﺣﺍﺮﻣ ﯽﻌﻤﺠ
steps = 1000
position = random_walk_1d(steps)
plt.figure(figsize=(10, 6))
plt.plot(range(steps), position)
plt.title("1D Random Walk")
plt.xlabel("Step")
plt.ylabel("Position")
plt.grid(True)
plt.show()
average_distance = np.mean(np.abs(position))
end_position = position[-1]
print(f"Average distance from start: {average_distance:.2f}")
print(f"End position: {end_position}")
.ﺖﺳﺍ ﻥﺎﺳﻮﻧ ﻝﺎﺣ ﺭﺩ ﺖﻤﯿﻗ ﻪﮐ ﯽﯾﺎﺟ ، ﺖﺳﺍ ﻡﺎﻬﺳ ﺖﻤﯿﻗ ﻪﺑ ﻪﯿﺒﺷ ﻦﯾﺍ .ﺖﺳﺍ ﯼﺮﮕﯾﺩ ﺯﺍ ﻞﻘﺘﺴﻣ
.ﺪﻨﮐ ﻒﯿﺻﻮﺗ ،ﯽﻠﺒﻗ ﻝﺎﺜﻣ ﺪﻨﻧﺎﻣ ،ﻪﺘﺴﺴﮔ ﻪﻠﺣﺮﻣ ﮏﯾ ﯼﺎﺟ ﻪﺑ ﻥﺎﻣﺯ ﻪﺘﺳﻮﯿﭘ ﺪﻨﯾﺁﺮﻓ ﮏﯾ ﻥﺍﻮﻨﻋ
def brownian_motion(n, dt=0.1):
random_steps = np.random.normal(0, np.sqrt(dt), n)
position = np.cumsum(random_steps)
return position
:ﻢﯿﻫﺩ ﻡﺎﺠﻧﺍ ﺍﺭ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﻢﯿﻧﺍﻮﺗ ﯽﻣ ﺮﯾﺯ ﺪﮐ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ .ﺪﻧﻮﺷ ﯽﻣ ﻩﺩﺍﺩ ﻥﺎﺸﻧ ﻪﺘﺳ
n = 1000
dt = 0.1
position = brownian_motion(n, dt)
time = np.linspace(0, n*dt, n)
plt.figure(figsize=(10, 6))
plt.plot(time, position)
plt.title("Brownian Motion")
plt.xlabel("Time")
plt.ylabel("Position")
plt.grid(True)
plt.show()
average_distance = np.mean(np.abs(position))
end_position = position[-1]
print(f"Average distance from start: {average_distance:.2f}")
print(f"End position: {end_position:.2f}")
.ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﻥﺁ ﺯﺍ ﺰﯿﻧ ﻥﺁ ﻊﯾﺯﻮﺗ ﻭ ﺪﯿﻫﺩ ﺮﯿﯿﻐﺗ ﺪﯾﺭﺍﺩ ﺯﺎﯿﻧ ﻪﮐ ﯼﺰﯿﭼ ﺮﻫ ﻪﺑ ﺍﺭ ﺮﯾ
.ﻢﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍﺭ ﻮﻟﺭﺎﮐ ﺖﻧﻮﻣ ،ﺮﺗ ﻪﺘﻓﺮﺸﯿﭘ ﮏﯿﻨﮑﺗ ﺪﯿﯾﺎﯿﺑ .ﻢﯿﻫﺩ ﻡﺎﺠﻧﺍ NumPy ﺎﺑ ﻢﯿﻧﺍﻮ
NumPy ﺎﺑ ﻮﻟﺭﺎﮐ ﺖﻧﻮﻣ ﺵﻭﺭ
.ﻢﯾﺭﻭﺁ ﺖﺳﺪﺑ ﺍﺭ ﻩﻮﻘﻟﺎﺑ ﺭﺮﺿ ﻊﯾﺯﻮﺗ ﺎﺗ ﻢﯿﻨﮐ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺍﺭ ﯼﺭﺎﺒﺘﻋﺍ ﮏﺴﯾﺭ ، ﻊﻗﺍﻮﻣ ﺯﺍ ﯼ
.ﻢﯿﻧﺰﺑ ﻦﯿﻤﺨﺗ NumPy ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺍﺭ ﯽﭘ ﺩﺪﻋ ﻢﯿﻨﮐ ﯽﻌﺳ ﺪﯿﯾﺎﯿﺑ .ﺪﻫﺩ ﻥﺎﺸﻧ ﺍﺭ ﻮﻟﺭﺎﮐ
import numpy as np
def pi_estimation(sample):
x = np.random.uniform(0, 1, sample)
y = np.random.uniform(0, 1, sample)
dis = np.sqrt(x**2 + y**2)
inside_circle = dis[dis <= 1.0].size
est = (inside_circle / sample) * 4
return est
sample = 1000000
pi_est = estimate_pi(sample)
print(f"Estimated value of π: {pi_est}")
Output>> Estimated value of π: 3.140724
.ﺖﺳﺍ ﻡﺭﺎﻬﭼ ﻩﺮﯾﺍﺩ ﻢﯾﺭﺍﺩ ﻪﮐ ﯼﺍ ﻩﺮﯾﺍﺩ ﺍﺮﯾﺯ ، ﻢﯿﻧﺯ ﯽﻣ ﻦﯿﻤﺨﺗ 4 ﻥﺁ ﺏﺮﺿ ﺎﺑ ﺍﺭ PI ﺎﻣ ،
.ﺖﺳﺍ ﺮﺘﺸﯿﺑ ﯼﺎﻫ ﻪﻧﻮﻤﻧ ﺩﺍﺪﻌﺗ ﺎﺑ ﺭﺎﻈﺘﻧﺍ ﺩﺭﻮﻣ ﺭﺍﺪﻘﻣ ﻪﺑ ﮏﯾﺩﺰﻧ ﻪﺠﯿﺘﻧ ﻦﯿﮕﻧﺎﯿﻣ ﻥﺁ ﺭﺩ ﻪ
.ﻢﯿﻨﮐ ﯽﻣ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺹﺎﺧ ﺽﺮﻓ ﺶﯿﭘ ﻝﺎﻤﺘﺣﺍ ﺎﺑ ﯽﺗﺪﻣ ﺭﺩ ﺩﺪﻌﺘﻣ ﯼﺎﻫ ﻡﺍﻭ ﻪﻧﻮﻤﻧ ﺎﺑ ﺍﺭ ﺽﺮﻓ
import matplotlib.pyplot as plt
def simulate_credit_risk(num_loans, num_periods, default_prob):
defaults = np.zeros((num_loans, num_periods))
for loan in range(num_loans):
for period in range(num_periods):
if np.random.rand() < default_prob:
defaults[loan, period] = 1
break
default_rates = np.mean(defaults, axis=0)
return defaults, default_rates
num_loans = 1000
num_periods = 120
default_prob = 0.02
defaults, default_rates = simulate_credit_risk(num_loans, num_periods, default_prob)
plt.plot(range(1, num_periods + 1), default_rates, marker='o')
plt.title('Default Rates Over Time')
plt.xlabel('Period')
plt.ylabel('Default Rate')
plt.grid(True)
plt.show()
.ﺪﻨﮐ ﯽﻣ ﺮﯿﯿﻐﺗ ﻥﺎﻣﺯ ﻝﻮﻃ ﺭﺩ ﺽﺮﻓ ﺶﯿﭘ ﺥﺮﻧ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯿﻨﯿﺒﺑ ﺎﺗ ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻩﺭﻭﺩ ﯼﺎﻫ
.ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺩﻮﺧ ﺶﯾﺎﻣﺯﺁ ﺭﺎﻈﺘﻧﺍ ﺩﺭﻮﻣ ﻪﺠﯿﺘﻧ ﻥﺩﺭﻭﺁ ﺖﺳﺩ ﻪﺑ ﯼﺍﺮﺑ ﻮﻟﺭﺎﮐ ﺖﻧﻮﻣ ﺵﻭﺭ ﺯﺍ
ﯼﺮﯿﮔ ﻪﺠﯿﺘﻧ
NumPy ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﻩﻮﺤﻧ ﻪﻟﺎﻘﻣ ﻦﯾﺍ ﺭﺩ .ﺖﺳﺍ ﯼﺭﻭﺮﺿ ﯽﻓﺩﺎﺼﺗ ﺪﻨﯾﺁﺮﻓ ﯼﺯﺎﺳ ﻪﯿﺒﺷ ﺭﺩ ﺰﯿﻧ ﻥ