AiryAi函数的第k个零点

    airyaiZero(k)返回第k个零点

    k - 输入,整数

    示例1:量子力学中的能级计算

    在一维线性势阱中,Airy Ai函数的零点对应于束缚态能量

    计算前5个能级对应的零点

    airyaiZero(5)
    #输出: -7.944133587112781

    示例2:计算多个零点(向量输入)

    在波动理论中,可能需要同时计算多个零点

    airyaiZero([1,3,5,7])
    #输出: [-2.33810741045977, -5.52055982809552, -7.94413358711278, -10.0401743415581]

    示例3:矩阵输入的零点计算

    在数值方法中,可能需要批量计算零点

    airyaiZero([[1,2],[3,4]])
    #输出: [[-2.33810741045977, -4.08794944413097],
           [-5.52055982809552, -6.78670809007191]]

    示例4:多维数组计算

    对于复杂的物理模拟,可能需要计算多维数组中的零点

    airyaiZero([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    #输出: [[[-2.33810741045977, -4.08794944413097],
             [-5.52055982809552, -6.78670809007191]],
            [[-7.94413358711278, -9.02265085334098],
             [-10.0401743415581, -11.0085243037333]]]

    示例5:光学中的应用

    Airy函数的零点与光学系统中的特定模式相关

    计算前5个零点,用于光学模式分析

    airyaiZero([1,2,3,4,5])
    #输出: [-2.33810741045977, -4.08794944413097, -5.52055982809552, -6.78670809007191, -7.94413358711278]

    示例6:声学共振频率计算

    在某些声学系统中,Airy函数的零点与共振频率相关

    计算前8个共振频率对应的零点

    airyaiZero([1,2,3,4,5,6,7,8])
    #输出: [-2.33810741045977, -4.08794944413097, -5.52055982809552, -6.78670809007191, -7.94413358711278, -9.02265085334098, -10.0401743415581, -11.0085243037333]

    示例7:渐近分析

    在渐近分析中,Airy函数的零点有重要应用

    计算较大序号的零点,观察其渐近行为

    airyaiZero([10,20,30,40,50])
    #输出: [-12.8287767528658, -20.5373329076776, -26.9869851116064, -32.7380996090003, -38.0210086772553]
    
    # Copyright 2025 小塔立软件有限公司及其旗下网站:www.qikjik.com
    # Licensed under the MIT License.
    import sympy as sp
    from scipy.special import ai_zeros

    def qikjik_airy_ai_zero(input_str):
        """
        计算 Airy Ai 函数的第 n 个零点。

        参数:
        input_str: 输入的字符串表达式,必须是一个整数。

        返回:
        如果输入有效,则返回 Airy Ai 函数的第 n 个零点;否则返回错误信息。
        """
        try:
            # 将输入字符串转换为 SymPy 表达式
            expr = sp.sympify(input_str)
            error = False
            result = None

            # 如果输入是元组,说明输入格式错误
            if isinstance(expr, tuple):
                error = True
            # 如果输入是整数,则计算 Airy Ai 函数的第 n 个零点
            elif expr.is_integer:
                # 尝试转换为整数
                n_val = int(expr)
                result = ai_zeros(n_val)[0][-1]
            else:
                error = True

            # 如果出现错误,返回错误信息
            return result if not error else f"输入错误: {input_str}"
        except Exception as e:
            return f"错误: {e}"


    def main():
        """
        主函数,用于演示 airy_ai_zero 函数的使用。
        """
        # 示范代码
        input_examples = [
            "1",  # 第 1 个零点 #结果: -2.3381074104597674
            "2",  # 第 2 个零点 #结果: -4.08794944413097
        ]

        for input_str in input_examples:
            print(f"输入: {input_str}")
            result = qikjik_airy_ai_zero(input_str)
            print(f"结果: {result}")
            print("-" * 40)

    if __name__ == "__main__":
        main()