Solve indefinite integral with unknown lower limit

16 views (last 30 days)
The equation I am trying to solve is attached below,
and my Matlab code is
int(11.6 + 2*10^-3*T - 0.67*10^5*(1/T^2),T,T,1650)
The output I am getting is just "-inf", but it should not be like this, could anyone help me figure this out? Thanks
  4 Comments
Walter Roberson
Walter Roberson on 5 Mar 2022
If T were 0 then 1/T^2 would be 1/0 which is a problem. If T were negative then T would have to cross 0 on its way to the positive bound, and you would have infinity again.
So... you should consider putting an assumption of positive on your variable. That would allow int() to generate a plain formula.
Jessica Wan
Jessica Wan on 5 Mar 2022
@Walter Roberson Thank you for your suggestion. I tried to put a statement before it
t = abs(t);
And now the final answer is
1445605/66 - 67000/abs(t) - abs(t)^2/1000 - (58*abs(t))/5
I assume we can just treat this abs(t) as normal t? Or do you have any better suggestions? Thanks.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 5 Mar 2022
syms t positive

More Answers (1)

Matt J
Matt J on 5 Mar 2022
Edited: Walter Roberson on 5 Mar 2022
Looks like there are 2 solutions.
format long g
T0=1650;
rhs=1e-3*T0^2 + 11.66*T0 + 0.67e5/T0;
p=[1e-3,11.66, -rhs, 0.67e5];
r=roots(p);
T=r(r>0 & imag(r)==0)'
T = 1×2
1.0e+00 * 1650 3.05009448006937

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!