# Solve a Differential equation analytically instead of numerically

I want to solve the differential equations (shown below in the list 'eqs') analytically instead of numerical. Using NDSolve the following code works perfectly fine but using DSolve it doensn't. I haven't been able to figure out why

SOLVEPW[t0_, t1_] := Module[{},
EVL[t_] := 0.05 + Piecewise[{{3.95 (1 - Cos[2 Pi Mod[t, 1]/0.3])/2, Mod[t, 1] < 0.3}}];
PVL[t] = EVL[t] (VVL[t] - VVL0);

values = {CAR -> 1.5, RVL2AR -> 0.01, ZAR0 -> 0.03, VVL0 -> 80,
PW0 -> 120, RC -> 1.5};
eqs = {CAR*
PW'[t] == ((((PVL[t] - PW[t]))/(RVL2AR + ZAR0)) + ((1/
RC)*(PW[t] - PVL[t]))),
VVL'[t] == -1*((PVL[t] - PW[t])/(RVL2AR + ZAR0))};

rule = DSolve[{eqs, PW[0] == PW0, VVL[0] == VVL0} /. values, {PW[t],
VVL[t]}, {t, t0, t1}] // Flatten;

VVLt = VVL[t] /. rule;
PWt = PW[t] /. rule;

Plot[PWt, {t, t0, t1}]]

Manipulate[SOLVEPW[t0, t1], {{t0, 7}, 0, 30}, {{t1, 30}, 30, 100}]


Thank you!

• Not every ODE has a simple analytic solution. Do you have any reason to believe that this one does? – Szabolcs Jun 3 '19 at 12:14
• Also, can you please remove all unnecessary parts of the code and focus on the problem? Please also change all inexact numbers (anything having a decimal point) to exact ones—symbolic manipulation functions tend not to like inexact numbers in Mathematica. See here for guidance: mathematica.meta.stackexchange.com/q/2126/12 – Szabolcs Jun 3 '19 at 12:16
• I believe that at least the first ODE has a symbolic solution, although DSolve may not be able to find it, due to the form of EVL. – bbgodfrey Jun 3 '19 at 17:31