pdeCoeff1D
首发版本:3.00.6.1
语法
pdeCoeff1D(diff, [conv=0], [react=0], [source=0], [mass=1])
详情
该函数为偏微分方程求解器 pdeSolver
的辅助函数,用于构造一维偏微分方程(PDE)的算子形式(Operator-form)的方程系数字典。
它定义了求解器所求解的各项系数(扩散、对流、反应、源项、质量项)。支持常系数(标量)和变系数(函数)。求解的方程形式如下:
| 数学量 | coeff 中的字段 | 含义 |
|---|---|---|
|
M |
mass |
时间导数项系数 |
|
A |
diff |
二阶扩散项系数 |
|
B |
conv |
一阶对流项系数 |
|
C |
react |
反应项系数 |
|
D |
source |
源项 |
参数
diff 数值标量或函数,指定扩散项系数(Diffusion coefficient)。
conv 可选参数,数值标量或函数,指定对流项系数(Convection coefficient)。默认值为 0。
react 可选参数,数值标量或函数,指定反应项系数(Reaction coefficient)。默认值为 0。
source 可选参数,数值标量或函数,指定源项系数(Source term)。默认值为 0。
mass 可选参数,数值标量或函数,指定质量项系数(Mass coefficient)。默认值为 1。
注意:
若系数为标量,必须为有限的有效值(即非 NULL、NaN 或 Inf)。
若系数为函数,该函数必须接收 2 个参数(通常代表空间位置和时间),且返回值必须是有限的数值标量,不得为非标量形式(如向量、矩阵)或非数值类型(如布尔、时间、DECIMAL)。
在求解阶段,mass 系数必须始终为正数且有限。
返回值
返回一个包含以下字段的字典(DICTIONARY):
type: STRING 标量,固定为 "operator1D"。
dim: INT 标量,固定为 1。
form: STRING 标量,固定为 "operator"。
diff: DOUBLE 标量或函数,扩散项系数。
conv: DOUBLE 标量或函数,对流项系数。
react: DOUBLE 标量或函数,反应项系数。
source: DOUBLE 标量或函数,源项系数。
mass: DOUBLE 标量或函数,质量项系数。
例子
例 1. 构造对应如下一维纯扩散方程的系数字典:
coeff = pdeCoeff1D(diff=0.2)
例 2. 构造对应如下含质量项、扩散项、对流项、反应项和源项的完整方程系数字典:
coeff = pdeCoeff1D(diff=0.01, conv=-0.3, react=-0.05, source=2.0, mass=1.5)
例 3. 构造 Black-Scholes 欧式期权定价模型对应的 PDE 系数字典(以资产价格 S、剩余期限 tau 为自变量,其中波动率 sigma = 0.2,无风险利率 r = 0.05):
coeff = pdeCoeff1D(
diff=def(S, tau) { return 0.5 * 0.2 * 0.2 * S * S },
conv=def(S, tau) { return 0.05 * S },
react=-0.05
)
