Integration with piecewise function

27 views (last 30 days)
Hi! I have the following problem. I have a piecewise function and i need to integrate the function with the piecewise as variable. I have type the piecewise function (see pic) but don't know where to go from there.Your help in this regard is much appreciated. T' and T are the same. I have to determine the Pf (an integral) with Cv4 (a variable of S4) as piecewise function.
  4 Comments
Walter Roberson
Walter Roberson on 20 Mar 2021
... Is the division by the current time value, or by the upper bound?
Fawad Ahmed
Fawad Ahmed on 20 Mar 2021
Edited: Fawad Ahmed on 20 Mar 2021
division is by the current time value, with values close to zero but not equal to zero. because I am dealing with temperature values close to absolute temperature i.e , 0_Kelvin. So T in S4 integral take values in range of 0<T<0.4. whereas T' in S4 just represents S4 as a function of T' which is same as T, so the actual eqn of S4 is int(Cv4/T) .Also plz ignore the algebraic equation besides S4 integral eqn, I only need to use integral form. Thanks

Sign in to comment.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 19 Mar 2021
Doesn't this work:
C_v4 = @(T) 0.0516*T.^3.*double(T<=0.6) + .432*T.^6.7.*double(0.6<T).*double(T<1.1) + 0.468*T.^5.6.*double(1.1<=T).*double(T<=2.2);
S = @(T) integral(@(Tprime) C_v4(Tprime)./Tprime,0,T);
Then you might have to plug the piece-wise parts into a function and select what integrations you need. Perhaps something like this:
function S4 = S_4_piecewise(Tin)
if Tin > 1.1
S4 = integral(@(T) 0.0516*T.^2,0,0.6) + ...
integral(@(T) .432*T.^4.7,0.6,1.1) + ...
integral(@(T) 0.468*T.^4.6,1.1,Tin);
elseif Tin > 0.6
S4 = integral(@(T) 0.0516*T.^2,0,0.6) + ...
integral(@(T) .432*T.^5.7,0.6,Tin);
else
S4 = integral(@(T) 0.0516*T.^2,0,Tin);
end
HTH
  6 Comments
Fawad Ahmed
Fawad Ahmed on 22 Mar 2021
Thankyou Bjorn for your response! I need to use the piecewise function becuase i would keep changing my temperature range values in the future which would be much easier if i have a piecewise function. Otherwise i would have to do the hand caluculation all over again evertime i change my temperature range.
Bjorn Gustavsson
Bjorn Gustavsson on 22 Mar 2021
Well, then you either put the contents of my function S_4_piecewise inside a loop such that integral can use it, or you do it by hand. And by doing it by hand I mean do it properly, such that you can implement the result in a matlab-function where you also send in parameters for the coefficients and the temperature limits.

Sign in to comment.

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!