基于高斯-勒让德求积法的一维定积分计算器
项目介绍
本项目实现了一种基于高斯-勒让德求积法的数值积分计算工具,专为数值分析教学和算法研究设计。通过高阶高斯积分公式,能够高效精确地近似计算连续函数在有限区间内的定积分值。程序结合了数值计算、符号运算和可视化功能,提供从算法原理到计算结果的完整展示。
功能特性
- 高斯-勒让德积分核心算法:自动计算指定阶数的高斯节点坐标与对应权重
- 多种函数输入支持:兼容字符串数学表达式和MATLAB函数句柄两种输入方式
- 自适应精度控制:支持通过相对容差参数自动调整计算精度
- 交互式可视化:生成积分区域图形,直观展示被积函数曲线和高斯采样点分布
- 详细误差分析:提供数值解与解析解的对比分析(当解析解可获得时)
- 计算过程透明化:输出完整计算报告,包含节点权重列表、计算耗时等详细信息
使用方法
基本调用格式
result = main(f, interval, n_points, tolerance)
f:被积函数,支持字符串表达式(如'sin(x)')或函数句柄(如@(x) exp(-x.^2))interval:积分区间,格式为[a, b](要求a < b)n_points:高斯点数量(可选,默认10,有效范围2-50)tolerance:相对容差(可选,默认1e-6)
应用示例
% 示例1:计算sin(x)在[0, pi]上的积分,使用15个高斯点
result1 = main('sin(x)', [0, pi], 15);
% 示例2:计算高斯函数积分,使用默认参数
f = @(x) exp(-x.^2);
result2 = main(f, [-1, 1]);
% 示例3:高精度计算特定积分
result3 = main('log(1+x)', [0, 2], 20, 1e-8);
系统要求
- MATLAB R2018b或更高版本
- 必需工具箱:Symbolic Math Toolbox(符号计算)
- 推荐内存:4GB以上(处理高阶积分时)
文件说明
主程序文件整合了高斯积分算法的完整实现流程,主要包括以下核心能力:完成用户输入参数的解析与验证,动态生成指定区间和阶数的高斯-勒让德求积节点及权重;通过符号运算或函数调用方式处理被积函数求值;执行数值积分计算并控制计算精度;生成包含函数曲线和采样点的可视化图形;组织并输出详细的数值结果与分析报告。