Not having Integration result

5 views (last 30 days)
Mohammad Humaun Kabir
Mohammad Humaun Kabir on 27 May 2022
Commented: Torsten on 27 May 2022
I am trying to integrate this function using the code -
----------------
syms x
xd = 700/319
fun = ((x^4)* exp(x))/((exp(x) -1)^2);
cv = int(fun,0,xd)
--------------
But, I am getting same form of the function like that -
>> Cv_calculatior
cv =
int((x^4*exp(x))/(exp(x) - 1)^2, x, 0, 700/319)
What's wrong here??

Accepted Answer

Torsten
Torsten on 27 May 2022
Edited: Torsten on 27 May 2022
Using "int", MATLAB tries to find an analytical antiderivative for your function, but cannot find one.
Use numerical integraion using "integral" instead. Don't start at 0 since your function has a division by zero at this location.
fun = @(x) x.^4.*exp(x)./(exp(x) -1).^2;
xd = 700/319;
result = integral(fun,1e-16,xd)
  2 Comments
Mohammad Humaun Kabir
Mohammad Humaun Kabir on 27 May 2022
Edited: Mohammad Humaun Kabir on 27 May 2022
Thanks. Would you like to help me to write the whole code. Here is my problem -
Varying temparature from 0 degree to 800 degree with 2 degree interval ( T = 0:2:800)
integrating this function, y = ((x.^4).* exp(x))./((exp(x) -1).^2) for 0 to T, where T has a range of data
Expecting result: a list of data, T vs y
Torsten
Torsten on 27 May 2022
fun = @(x) x.^4.*exp(x)./(exp(x) -1).^2;
T = [1e-16,2:2:800];
y(1) = 0;
for i = 2:numel(T)
y(i) = y(i-1) + integral(fun,T(i-1),T(i));
end
plot(T,y)

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!