You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何定义可区分时间与坐标向量的R^4函数

Python 接收二维向量作为参数的函数定义方案

Python 3 已移除函数形参位置直接解构序列的语法,因此你无法在def的参数列表中直接写[v,u]完成二维向量的解包,正确实现方式如下:


基础实现

def f(x, t, p):
    # 从输入的二维向量x中解包出v、u
    v, u = x
    a = 0.02
    b = 0.2
    I = 10.
    # 注意:Python中幂运算需使用**,^为按位异或运算符,原写法会得到错误计算结果
    return (0.04 * v**2 + 5 * v + 140 - u + I, a * (b * v - u))

调用时直接传入长度为2的序列即可,支持列表、元组、numpy数组等类型作为x的入参,示例:

# 示例调用,x为列表,t=0,p=1.5
res = f([-65, 0], 0, 1.5)

带类型标注的实现

如果需要明确参数类型提升代码可读性,可以增加类型提示:

import numpy as np
from typing import Tuple, Union, List

def f(
    x: Union[Tuple[float, float], List[float], np.ndarray],
    t: float,
    p: float
) -> Tuple[float, float]:
    v, u = x
    a = 0.02
    b = 0.2
    I = 10.
    return (0.04 * v**2 + 5 * v + 140 - u + I, a * (b * v - u))

内容的提问来源于stack exchange,提问作者Floor Molina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:36:05