Code
#!/bin/python3
"""============================================================================
Sampling script

Ramkumar
Sun Mar 23 05:11:57 PM IST 2025
============================================================================"""

# importing needed modules
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.stats import qmc

#==============================================================================

# function definitions for sampling
def RandomSampling(n):
    return np.random.sample(n)

def EquispacedSampling(n):
    return np.linspace(0,1,n)

def LatinHypercubeSampling(n):
    sampler = qmc.LatinHypercube(d=1)
    return sampler.random(n)

def TrueFunction(x):
    return (6*x-2)**2*sin(12*x-4)

# sampling data

N     = 5
RS_5  = RandomSampling(N)
ES_5  = EquispacedSampling(N)
LHS_5 = LatinHypercubeSampling(N)

N      = 10
RS_10  = RandomSampling(N)
ES_10  = EquispacedSampling(N)
LHS_10 = LatinHypercubeSampling(N)

N      = 15
RS_15  = RandomSampling(N)
ES_15  = EquispacedSampling(N)
LHS_15 = LatinHypercubeSampling(N)

# plotting graphs
plt.rcParams.update({"font.size":10})
fig,ax = plt.subplots(1,3,figsize=(12,6),sharey=True)
ax = ax.flatten()
ax[0].plot(RS_5,'sb')
ax[0].plot(ES_5,'or')
ax[0].plot(LHS_5,'*g')
ax[0].grid()
ax[0].set_xlabel("data points")
ax[0].set_ylabel("x")
ax[0].set_title("N = 5")

ax[1].plot(RS_10,'sb')
ax[1].plot(ES_10,'or')
ax[1].plot(LHS_10,'*g')
ax[1].grid()
ax[1].set_xlabel("data points")
ax[1].set_title("N = 10")

ax[2].plot(RS_15,'sb',label="Random")
ax[2].plot(ES_15,'or',label="Random")
ax[2].plot(LHS_15,'*g',label="LHC")
ax[2].grid()
ax[2].legend(loc=[1.1,0.5])
ax[2].set_xlabel("data points")
ax[2].set_title("N = 15")

# plt.savefig("sampling.png",dpi=150,bbox_inches="tight")

plt.show()


#==============================================================================
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 11
      9 # importing needed modules
     10 import numpy as np
---> 11 import pandas as pd
     12 import matplotlib.pyplot as plt
     13 from scipy.stats import qmc

ModuleNotFoundError: No module named 'pandas'