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

1 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2016-5-29
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
Roger Stafford 2016-5-30
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

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2016-5-29
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 个评论
Dhruv Sangal
Dhruv Sangal 2016-5-30
Thanks a lot for the help everyone. The code works fine now though I am still little bit confused with the reasoning. But for now its fine. I will discuss with my professor on reasoning part. Thanks a lot

请先登录,再进行评论。

更多回答(1 个)

Roger Stafford
Roger Stafford 2016-5-29
编辑:Roger Stafford 2016-5-29
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 个评论
Roger Stafford
Roger Stafford 2016-5-29
编辑:Roger Stafford 2016-5-29
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by