integral method gives an answer of zero

1 回表示 (過去 30 日間)
Stashu Kozlowski
Stashu Kozlowski 2023 年 4 月 2 日
回答済み: Walter Roberson 2023 年 4 月 2 日
Hello,
I have been trying compute
where β is a fixed constant. My code consists of the following:
k = 1.380649*10^(-23);
t = 5800;
beta = (k*t)^(-1);
fun = @(x) x.^3 ./ (exp(beta .* x) - 1);
q = integral(fun,0,Inf)
This results in the integral being evaluate as 0. However, I know that this integral is infact not zero over the domain
Am I making somekind of mistake?

採用された回答

Walter Roberson
Walter Roberson 2023 年 4 月 2 日
The values are so small relative to your constants that they might as well be zero.
With your beta being 1/(k*t) you are ending up with some large exponents in the exp() -- large enough that you are going to overflow numerically.
syms x
Q = @(v) sym(v);
k = Q(1380649)*Q(10)^(-29);
t = Q(5800);
beta = (k*t)^(-1);
fun = x.^3 ./ (exp(beta .* x) - 1)
fun = 
int(fun, 0, Inf)
ans = 
vpa(ans)
ans = 
2.6702586874891152137386272298896e-76

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeParticle & Nuclear Physics についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by