Numerical Integration in Matlab

I wanted to solve a numerical integral of the following equation:
fun = ((x.^4 .* exp(x))) ./ ((exp(x) - 1) .* (exp(x) - 1) );
The limits are from: 0 to Inf
Can anyone ehelp me here?
Thanks in advance.

 Accepted Answer

If you have symbolic toolbox
syms x
y = ((x.^4 .* exp(x))) ./ ((exp(x) - 1) .* (exp(x) - 1) );
I = int(y, x, 0, inf)
Result
>> I
I =
(4*pi^4)/15
>> double(I)
ans =
25.9758

4 Comments

Thanks Ameer. I had one more question.
I could not write the whole problem in Matlab so I have attached a jpg file for you so that you can understand the question.
Also, note that T = logspace(0, 5), and there is a prefactor of T^3 before the integral as well.
I want some help plotting a loglog plot of (T, Cv). Could you please help me?
Thank you.
Raj Patel.
Check this code
fun = @(x) (x.^4) ./ (exp(x).*(1 - 1./exp(x)).^2 );
C = @(T) integral(fun, 0, 500/T);
Tv = linspace(0, 1000);
Cv = arrayfun(C, Tv);
loglog(Tv, Cv)
Thanks Ameer. It helped me. Appreciate your efforts.
I am glad to be of help!

Sign in to comment.

More Answers (1)

integral(fun,0,683)

1 Comment

An alternative by rearranging the terms
fun = @(x) (x.^4) ./ (exp(x).*(1 - 1./exp(x)).^2 );
integral(fun, 0, inf)

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!