【问题标题】:How to calculate out put definite integral in matlab如何在matlab中计算输出定积分
【发布时间】:2019-08-11 07:37:30
【问题描述】:

我已经运行了以下函数来计算以下函数的数值积分。

但是在 Matlab 中,不是一个数字作为输出,它给了我一个很大的表达。

gamma = sqrt(alpha^2 - beta^2);
K1=besselk(1,alpha*sqrt(delta^2+(x-mu)^2));
pdf = alpha*delta* K1/(pi*sqrt(delta^2+(x-mu)^2)) * exp(delta*gamma+ beta*(x-mu));

prob = int(pdf , x, 0,0.5);

带有以下参数:

mu = 0.034 ; 


delta = 2.12; 

alpha = 0.05;
beta = -0.001; 

我收到了这个结果。

int((53*exp(59679899628370215233/562949953421312000000 - x/1000)*besselk(1, ((x - 17/500)^2 + 2809/625)^(1/2)/20))/(500*pi*((x - 17/500)^2 + 2809/625)^(1/2)), x, 0, 1/2)

我将不胜感激任何回答这个问题的解决方案。如何在 Matlab 中计算这个表达式?

【问题讨论】:

  • 是的,它是正态逆高斯(NIG)分布的PDF。

标签: matlab integral


【解决方案1】:

你得到的结果还没有被评估。要获得具有n 有效数字的数字答案,请使用,

prob_vpa = vpa(prob, n); 

结果仍然是一个符号变量,用于进一步的符号计算。也可以转成double

prob_double = double(prob);

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多