In one of your int() you use Pcalc as your upper bound. Pcalc is a vector. You cannot use a vector for the boundary of int()
If the function has a closed form for the integral then specify the upper bound as a symbol, and then subs() the vector for the symbol to get the vector of values.
If the function does not have a closed form for the integral you should be using vpaintegral(). To avoid redoing the integration over areas you have already done, break the range up into segments at the given boundaries, vpaintegral over just that range, and then cumsum() to get the list of results.
