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
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
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
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 个评论
更多回答(1 个)
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
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 Center 和 File 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!