Main Content

log1p

针对较小的 X 精确计算 1+X 的自然对数

说明

示例

Y = log1p(X) 计算数组 X 中每个元素的自然对数 log(1+X),但不显式计算 1+X。如果 X < -1,则 Y 为复数。此函数对于 X 中的小实数值更精确,因为它会补偿 1+X 中的舍入误差。

示例

全部折叠

比较 log(1+X)log1p(X) 的精确度。

创建一个由小实数值组成的向量。

X = [-1e-16 1e-15 2e-14]
X = 1×3
10-13 ×

   -0.0010    0.0100    0.2000

使用 log 函数计算 1+X 的自然对数。

Y = log(1+X)
Y = 1×3
10-13 ×

   -0.0011    0.0111    0.1998

结果可能为零或具有较大的相对误差。例如,Y(2) 不接近 X(2),即 1e-15

Y(2)
ans = 1.1102e-15

使用 log1p 函数计算 1+X 的自然对数。

Y = log1p(X)
Y = 1×3
10-13 ×

   -0.0010    0.0100    0.2000

在本例中,log1p(X) 约为 X,结果更精确。例如,Y(2) 现在接近 X(2),即 1e-15

Y(2)
ans = 1.0000e-15

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵、多维数组、表或时间表。

数据类型: single | double | table | timetable
复数支持:

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

|