Assuming that you may not have the Symbolic Math Toolbox, this should get you started:
syms A E(x) Z b c d E0
Eqn1 = -diff(E,x)/p == (3574/A) * E^(-b) * Z^(c*log(E)+d);
SEqn1 = dsolve(Eqn1, E(0) == E0); % E(0) == E0, initial condition
SEqn1 = simplify(collect(expand(SEqn1)));
E = matlabFunction(SEqn1)
E = @(A,E0,Z,b,c,d,p,x)(-(Z.^d.*p.*x.*3.574e3-A.*E0.^(b+1.0).*exp(-c.*log(E0).*log(Z))+Z.^d.*b.*p.*x.*3.574e3-Z.^d.*c.*p.*x.*log(Z).*3.574e3)./A).^(1.0./(b-c.*log(Z)+1.0));
The rest is yours to solve, since I haven’t shot a proton at a target in a very long time.
It looks rather straightforward, otherwise.
See the MATLAB Online Documentation for details.