q=8; w1[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[1]]; w3[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[3]]; w2[c_,a_]:=u/.NSolve[ -c/a u^3 + c u^2 + (-c/a-1) u + c==0,u][[2]]; f1[c_,a_]:=If[Abs[Im[w1[c,a]]]<0.0001,Re[w1[c,a]],Re[w3[c,a]]]; f3[c_,a_]:=If[Abs[Im[w3[c,a]]]<0.0001,Re[w3[c,a]],Re[w1[c,a]]]; f2[c_,a_]:=If[Abs[Im[w2[c,a]]]<0.0001,Re[w2[c,a]],f1[c,a]]; abb1=Plot3D[f1[-c0-m^2,q],{m,-0.6,0.6},{c0,-0.6,-0.55}, PlotPoints->30,ImageSize->{400,300}]; abb3=Plot3D[f3[-c0-m^2,q],{m,-0.6,0.6},{c0,-0.6,-0.55}, PlotPoints->30,ImageSize->{400,300}]; abb2=Plot3D[f2[-c0-m^2,q],{m,-0.6,0.6},{c0,-0.6,-0.55}, PlotPoints->30,ImageSize->{400,300}]; abb=Show[abb1,abb2,abb3,DisplayFunction->$DisplayFunction, AxesLabel->{"mu","c","x*"},ImageSize->{400,300}];