我在Matlab中调用hypergeom(a,b,z)使用广义超几何函数。用Matlab中的矢量评估超几何函数
该函数产生用于α= 1和a = 2,B = 2和z = 5:
>>hypergeom(1,2,5)
29.4826318205153
>>hypergeom(2,2,5)
148.413159102577
现在,我想在一个值的向量来评估超几何。所以,如果我进入hypergeom(1:2,2,5),我期望的输出:
[29.4826318205153, 148.413159102577]
然而,当我在Matlab中输入验证我得到:
>>hypergeom(1:2,2,5)
-0.25
因此单个值返回,为a的输入值的向量。如何在Matlab中正确调用hypergeom,以便获得与输入向量长度相同的输出向量长度?
编辑: 在这个特定的计算,我估计所谓的超几何函数(解决库默尔的微分方程,请参阅:https://en.wikipedia.org/wiki/Confluent_hypergeometric_function)。这是1F1功能。这意味着长度(N)= 1且长度(D)= 1。
标准内置函数hypergeom是广义超几何函数,它不允许计算hypergeom(1:2,2,5 )以我想要的方式。
+1
'hypergeom'只能通过第三个参数进行矢量化。要使用第一个参数的多个值,您必须使用循环 –