|
LMMC
Lamina Mathematic core
|
#include "internal/quadrature_internal.h"函数 | |
| lmmc_status_t | lmmc_quad_trapezoid (lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, size_t n, lmmc_real_t *out_result) |
复合梯形公式:将 \([a,b]\) 等分为 n 段。 | |
| lmmc_status_t | lmmc_quad_simpson (lmmc_quad_func_t func, void *user_data, lmmc_real_t a, lmmc_real_t b, size_t n, lmmc_real_t *out_result) |
复合 Simpson 公式:将 \([a,b]\) 等分为 n 段(要求偶数)。 | |
| lmmc_status_t lmmc_quad_trapezoid | ( | lmmc_quad_func_t | func, |
| void * | user_data, | ||
| lmmc_real_t | a, | ||
| lmmc_real_t | b, | ||
| size_t | n, | ||
| lmmc_real_t * | out_result ) |
复合梯形公式:将 \([a,b]\) 等分为 n 段。
采样点在 [-1,1] 的归一化坐标中生成,并通过溢出安全的中心和半长度 映射到 [a,b];不会直接形成可能溢出的 b-a。
| [in] | func | 被积函数回调。 |
| [in] | user_data | 传递给 func 的用户上下文。 |
| [in] | a | 积分下限。 |
| [in] | b | 积分上限。 |
| [in] | n | 子区间数(>= 1)。 |
| [out] | out_result | 输出积分近似值。 |
func 被调用 n+1 次。在文件 quadrature_fixed.c 第 24 行定义.
引用了 lmmc_quad_center_half_length(), lmmc_quad_trapezoid(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_quad_trapezoid().
| lmmc_status_t lmmc_quad_simpson | ( | lmmc_quad_func_t | func, |
| void * | user_data, | ||
| lmmc_real_t | a, | ||
| lmmc_real_t | b, | ||
| size_t | n, | ||
| lmmc_real_t * | out_result ) |
复合 Simpson 公式:将 \([a,b]\) 等分为 n 段(要求偶数)。
采样点先在 [-1,1] 的归一化坐标中生成,再通过溢出安全的中心和半长度 映射到 [a,b];不会直接形成可能溢出的 b-a。
| [in] | func | 被积函数回调。 |
| [in] | user_data | 传递给 func 的用户上下文。 |
| [in] | a | 积分下限。 |
| [in] | b | 积分上限。 |
| [in] | n | 子区间数(必须为偶数且 >= 2)。 |
| [out] | out_result | 输出积分近似值。 |
func 被调用 n+1 次。在文件 quadrature_fixed.c 第 58 行定义.
引用了 lmmc_quad_center_half_length(), lmmc_quad_simpson(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_quad_simpson().