fn = c1/((lamda^5)*((exp(c2/(lamda*T))) - 1)); I want to integrate this equation but getting Explicit Integral warning. here C1,C2,T are all unknown, integration has to be done in terms of lamda under the limits 0 to infinity. can anyone help me
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dhruv Sangal
el 29 de Mayo de 2016
Comentada: Roger Stafford
el 30 de Mayo de 2016
fn = c1/((lamda^5)*((exp(c2/(lamda*T))) - 1)); I want to integrate this equation but getting Explicit Integral warning. Here C1,C2,T are all known, integration has to be done in terms of lamda under the limits 0 to infinity. can anyone help me
11 comentarios
Walter Roberson
el 29 de Mayo de 2016
The value at 0 matters, and the value at 0 has two divisions by 0, so the limit of the expression matters at 0 matters. But the limit is not defined because there is a non-removable discontinuity. Every non-empty compact region around lamda = 0 contains both an infinity and a small value, so there is no limit at 0.
Roger Stafford
el 30 de Mayo de 2016
I have to disagree with you, Walter. For the purposes of this integration as defined by Dhruv, the only thing that matters at λ = 0 is the limit from the right. This integral is in fact convergent at this lower integration limit because there is a finite limit to the integral as its lower limit of integration approaches zero from the right. That there is a zero-divided-by-zero situation right at the point where λ is equal to zero, or that there is a discontinuity there, do not matter for this integral to be considered convergent, only its behavior as the lower limit of integration approaches zero from the right. Yes, it is an “improper” integral, but nevertheless it is convergent. I refer you to the Wikipedia article on the subject:
https://en.wikipedia.org/wiki/Improper_integral
Respuesta aceptada
Star Strider
el 29 de Mayo de 2016
With the constants and the additional information, this runs:
C1 = 3.742E+8;
C2 = 1.439E+4;
E = @(L,T) C1./(L.^5 .* exp(C2./(L.*T)) - 1);
ET = @(T) integral(@(L) E(L,T), 0, Inf);
T = linspace(0, 310, 50);
for k1 = 1:length(T)
ETT(k1) = ET(T(k1));
end
figure(1)
plot(T, ETT)
grid
xlabel('T (°K)')
ylabel('Spectral Blackbody Emmisive Power')
The loop is unavoidable.
I will let you determine if this does what you want.
4 comentarios
Más respuestas (1)
Roger Stafford
el 29 de Mayo de 2016
Editada: Roger Stafford
el 29 de Mayo de 2016
Your integral can be transformed into one that doesn’t have any parameters as follows. Change your variable of integration from lambda to x in accordance with this equation:
x = C2/(T*lambda)
The integral then is transformed to this:
C1*T^4/C2^4 * integral of x^3/(exp(x)-1) from x = 0 to x = inf.
As you see, this integral doesn’t depend on any parameters. Once it is solved, you can evaluate your original integral by multiplying it by C1*T^4/C2^4.
1 comentario
Roger Stafford
el 29 de Mayo de 2016
Editada: Roger Stafford
el 29 de Mayo de 2016
Note: I have assumed here that C2/T is positive. If it is negative, the range of integration for x is from x = 0 to x = -inf, which would be divergent.
Ver también
Categorías
Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!