RC-filter (Lineär ODE) 

restart 

`:=`(ode, `*`(R, `*`(C, `*`(diff(v(t), t)))) = `+`(u(t), `-`(v(t)))) 

`*`(R, `*`(C, `*`(diff(v(t), t)))) = `+`(u(t), `-`(v(t))) (3.1)
 

`:=`(ic, v(0) = v[0]) 

v(0) = v[0] (3.2)
 

`:=`(sol, dsolve({ic, ode}, v(t))) 

v(t) = `*`(`+`(Int(`/`(`*`(u(_z1), `*`(exp(`/`(`*`(_z1), `*`(R, `*`(C)))))), `*`(R, `*`(C))), _z1 = 0 .. t), v[0]), `*`(exp(`+`(`-`(`/`(`*`(t), `*`(R, `*`(C)))))))) (3.3)
 

`:=`(sol, subs(_z1 = tau, sol)) 

v(t) = `*`(`+`(Int(`/`(`*`(u(tau), `*`(exp(`/`(`*`(tau), `*`(R, `*`(C)))))), `*`(R, `*`(C))), tau = 0 .. t), v[0]), `*`(exp(`+`(`-`(`/`(`*`(t), `*`(R, `*`(C)))))))) (3.4)
 

`:=`(v, unapply(rhs(sol), t)) 

proc (t) options operator, arrow; `*`(`+`(Int(`/`(`*`(u(tau), `*`(exp(`/`(`*`(tau), `*`(R, `*`(C)))))), `*`(R, `*`(C))), tau = 0 .. t), v[0]), `*`(exp(`+`(`-`(`/`(`*`(t), `*`(R, `*`(C)))))))) end proc (3.5)
 

expand(v(t)) 

`+`(`/`(`*`(Int(`*`(u(tau), `*`(exp(`/`(`*`(tau), `*`(R, `*`(C)))))), tau = 0 .. t)), `*`(exp(`/`(`*`(t), `*`(R, `*`(C)))), `*`(R, `*`(C)))), `/`(`*`(v[0]), `*`(exp(`/`(`*`(t), `*`(R, `*`(C))))))) (3.6)