To Solve
the algebraic equation for E1
:
sol = Solve[(-p^2 v1^2 + (E1 - Ce) (E1 + gam1 - Ce)) (E1^2 -
p^2 v1^2 + Ce (gam1 + Ce) - E1 (gam1 + 2 Ce)) == 0, E1]

Substitute given values of p
:
sol2 = Table[sol /. p -> i, {i, -10^-7, 10^-7, 10^-7}]

Give numerical values to the parameters:
y = E1 /. sol2 /. {Ce -> 1, gam1 -> 1, v1 -> 1} // N // Chop
{{0, 1., 1., 2.}, {0, 1., 1., 2.}, {0, 1., 1., 2.}}
x = N@Table[i, {i, -10^-7, 10^-7, 10^-7}]
{-1.*10^-7, 0., 1.*10^-7}
Plot the pairs of points:
ListPlot[#, Frame -> True, PlotStyle -> {Red, PointSize[Large]}] &@
Flatten[#, 1] &@Diagonal@Outer[List, x, y, 1, 2]
(* or *)
ListPlot[#, Frame -> True, PlotStyle -> {Red, PointSize[Large]}] &@
Flatten[#, 2] &@MapThread[Outer[List, {#1}, #2] &, {x, y}]

NSolve
is a numerical procedure and needs numerical input, i.e. you need to give values to the parameteresp
,v1
etc. And I guess you meant the lonelyE
to beE1
-E
is a built-in symbol being the basis of the natural logarithm $e\approx 2.72$. Also, how do you want to plot a solutions of an algebraic equation? It's not a function but a list of valuesE1
satisfying the eq. Like $x=\pm 1$ are solutions tox^2-1==0
. $\endgroup$E
is reserved in Mma for the exponential. I suggest that you might edit your question making clear all these points. $\endgroup$