You can achieve this with the Extra Objects addon, XYZ Math Surface option.
To enable the addon, open the User Preferences and search for the Extra Objects addon and enable it. Now in the Add menu you should find Mesh/Math Function/XYZ Math Surface. This allows you to define the coordinates of points in XYZ space as two variables (U and V) are varied.
To create your equation (
y=x^2/(x^2+(1-x)^2)) you need to vary U over the range 0.0 to 1.0 and substitute
u - by defining X as simply
u and defining Y as
u**2/(u**2+(1-u)**2) (note that power (
^) needs to be written as
In order to turn this into a symetrical surface we need two points, one at +y and the other at -y. For this we can use V and vary it between -1 and 1 with only 2 steps (so it flips between -1 and +1 for each point) and multiply the previous equation by
To produce the shape in your question we need to stretch the two sides apart - achieved by adding a constant to the equation :
Finally, to add the 'ends' we can extend the range and use "ternary" operators to allow us to use 'x if condition else y' form. Here we set it effectively to 0.5 if u < 0 else our_equation if u <= 1 else 1.5. This produces the following result :
Note the settings in the left-hand panel. Increase the U step for more vertices along the mesh. Decrease U min for a longer 'handle', increase U max for a longer 'paddle'.
Once you're happy with the shape you can simply enter edit mode (Tab) and Extrude (E) to give it some thickness (or add a Solidify modifier if you prefer).