If you know the width and height, then a random, non-uniform value could be obtained, by getting a random angle and a random value between 0 and 1. 1 means the point is at the edge, 0 is at the center. These can be converted into an XY coordinate system using
$$angle = rand() * 2 * \pi$$
$$\lambda = rand()$$
$$x=\frac{cos(angle)\cdot width}{2}\cdot \lambda$$
$$y=\frac{sin(angle)\cdot height}{2}\cdot \lambda$$
Where \$rand()\$ returns a random value between 0 and 1.
The problem with this is that i tends to generate more points in the center, since there's less space there.
To solve this, you could instead try to generate a random point in the rectangle that contains the ellipse, check if it's inside the ellipse, if it isn't, try again. It's easy to check if a point lies inside an ellipse. If the point is \$(x,y)\$, then
$$d = \sqrt{(2x/width)^2+(2y/height)^2}$$
If \$d\$ is less than or equal to 1, it's inside