pdeDomain1D

首发版本:3.00.6.1

语法

pdeDomain1D(xGrid)

详情

用于定义一维偏微分方程(PDE)求解时的空间范围和网格划分。

在数值求解 PDE 时,需先将连续的空间离散化为独立的节点。pdeDomain1D 的作用是将指定的节点向量(xGrid)封装成求解器 pdeSolver 能够识别的“求解区域”对象。

主要应用场景:

  • 定义计算边界:通过网格的起点和终点确定求解的物理范围。

  • 控制计算精度:在变化剧烈的区域(如期权定价中的行权价附近)使用更密的网格,在平缓区域使用稀疏网格,从而平衡计算速度与精度。

参数

xGrid 数值向量,指定空间中的所有计算节点。

  • 节点必须为有效的有限数值(不得包含 NULL、NaN 或 Inf),且必须严格递增。

  • 至少包含 3 个点。通常点数越多,数值解越精确,但计算耗时也会相应增加。

  • 网格的覆盖范围(即最大值与最小值的差值)必须为有限数值。

  • 可使用 pdeGrid1D 函数构造节点。

返回值

返回一个包含以下字段的字典(DICTIONARY):

  • type:STRING 标量,固定为 "structured1D"。

  • dim:INT 标量,固定为 1。

  • xGrid:DOUBLE 向量,规范化后的空间节点向量。

注意:网格的统计信息(如节点数、间距、均匀性等)不直接包含在返回的字典中,需通过 pdeInfo(domain) 函数查询。

例子

例 1. 构造均匀一维网格

// 构造 0 到 1 之间,包含 101 个节点的均匀网格
xGrid = (0..100) / 100.0
domain = pdeDomain1D(xGrid)

例 2. 构造非均匀一维网格

// 手动指定非均匀分布的节点
xGrid = 0.0 0.05 0.15 0.4 1.0
domain = pdeDomain1D(xGrid)

例 3. 配合 pdeGrid1D 使用

// 使用 sinh 方式在 100 附近加密网格
spotGrid = pdeGrid1D(0.0, 300.0, 401, "sinh", 100.0, 3.0)
domain = pdeDomain1D(spotGrid)

相关函数: pdeGrid1DpdeInfopdeSolver