There are a couple syntax errors in your code. I would not recommend assigning a set of equations to a variable and then passing that variable into an NDSolve or DSolve. Additionally the constants that are present in your differential equations do not have a common notation -- i.e. p[6] instead of p6. And I cannot see that p6 is called in your set of equations. Is that meant to be the case?
From a theoretical perspective, you should be looking for analytic solutions before brute numerical solutions. Have you tried that?
A cleaner version of the code to search for analytic solutions might look like:
p1 = 50;
p2 = 70.5;
p3 = .16;
p5 = 1600;
p6 = .05;
p7 = 0.03;
sol1 = DSolve[{s'[t] == -p3 (r[t] s[t] c[t]/(p1*p2))/((1 + s[t]/p1) (1 + c[t]/p2)) ,
w'[t] ==p3*p5 (r[t] s[t] c[t]/(p2*p2))/((1 + s[t]/p2) (1 +c[t]/p3)) -
w[t], c[t] == -(1 + p1/s[t]) (r[t]*s[t]*
c[t]/(p1*p2))/((1 + s[t]/p1) (1 + c[t]/p2)) -
p7*c[t] r[t] == -p7*r[t], s[0] == 150, w[0] == 0, c[0] == 0.05,
r[0] == 0.05}, {s[t], w[t], c[t], r[t]}, {t}]
To look for numerical solutions, a cleaner version of the last section of the code might look like:
sol = NDSolve[{s'[
t] == -p3 (r[t] s[
t] c[t]/(p1*p2))/((1 + s[t]/p1) (1 + c[t]/p2)) w'[t],
w'[t] ==
p3*p5 (r[t] s[t] c[t]/(p2*p2))/((1 + s[t]/p2) (1 + c[t]/p3)) -
w[t], c[t] == -(1 + p1/s[t]) (r[t]*s[t]*
c[t]/(p1*p2))/((1 + s[t]/p1) (1 + c[t]/p2)) -
p7*c[t] r[t] == -p7*r[t], s[0] == 150, w[0] == 0} /. {p1 -> 50,
p2 -> 70.5, p3 -> .16, p5 -> 1600, p[6] -> .05, p7 -> 0.03}, {s,
w, c, r}, {t, 0, 120}]
Attachments: