add more parameters
use meshgrid instead of random to get samples