Matlab中第一类汇合超几何函数的计算

时间:2015-12-24 11:35:36

标签: matlab math wolfram-mathematica physics

有没有办法在Matlab中执行第一类融合的yypergeometric函数的计算(特别是在R2013a中)?

在Mathematica中,此函数称为Hypergeometric1F1。我在Matlab中看到kummerU,但定义看起来不同。

在Mathematica中,definition is

Hypergeometric1F1

在Matlab中,definition is给出为:

kummeru

如何在Matlab中计算第一类融合超几何函数,即两个积分中的第一个?

1 个答案:

答案 0 :(得分:3)

这两者是不同的,因为它们为同一个二阶ODE返回不同的解决方案,但名称可以使它们容易混淆。 Mathematica的Hypergeometric1F1计算confluent hypergeometric function,也称为Kummer函数。 Matlab的kummeru计算汇合的超几何Kummer U 函数,也称为Tricomi的汇合超几何函数。这两者通过简单的关系as shown here相关联(另请参阅关系herehere)。

在Matlab中,您可以通过通用hypergeom函数象征性地计算汇合超几何函数(如果所有输入参数都是浮点数,则返回数值解法):

A = hypergeom(a,b,z);

这将返回与Mathematica的Hypergeometric1F1相同的结果。如果您需要更快的解决方案,可以尝试hypergeomq中描述的优化this Math.SE answer。对于纯数字解决方案,您还可以尝试this File Exchange submission

在Mathematica中,您可以使用HypergeometricU生成相当于Matlab kummeru的结果。