【数值分析】区间折半法,matlab实现

区间折半法

从梯形公式出发,上一步步长为 h {h} h ,则有步长折半后的积分
T 2 n = 1 2 T n + h 2 ∑ i = 0 n − 1 f ( x i + 0.5 ) T_{2n}= \frac{1}{2}T_n+ \frac{h}{2} \sum_{i=0}^{ n-1}f(x_{i+0.5}) T2n=21Tn+2hi=0∑n−1f(xi+0.5)

matlab实现

matlab 复制代码
%% 区间折半法例子
format long
[I i] = halfStep(@f,0,1,1e-7,10)

function r = f(x)
    if x == 0
        r = 1;
    else
        r = sin(x)./x;
    end
end

%% 区间折半法
% 输入函数,范围,精度,最大迭代次数
% 输出积分值,迭代次数
function [I,i] = halfStep(f,a,b,eps,max_iter)
    h = b-a;
    T0 = h/2*(f(a)+f(b))
    for i = 1:max_iter
        x_n = a+h/2:h:b-h/2;
        T1 = 0.5*T0+0.5*h*sum(f(x_n))
        if abs(T1-T0)<eps
            I = T1;
            break
        end
        T0 = T1;
        h = h/2;
    end
end
相关推荐
yong99902 小时前
基于SIFT特征提取与匹配的MATLAB图像拼接
人工智能·计算机视觉·matlab
bu_shuo3 小时前
MATLAB奔溃记录
开发语言·matlab
matlabgoodboy6 小时前
程序代做python代编程matlab代码设计plc深度学习java编写C++代写
python·深度学习·matlab
Evand J6 小时前
【2026课题推荐】基于小波/互相关/FFT的卡尔曼滤波的轨迹估计,及MATLAB例程的运行结果
开发语言·matlab·目标跟踪·轨迹跟踪
算法如诗13 小时前
MATLAB实现基于RM-LSTM反演模型(RM)结合长短期记忆网络(LSTM)进行时间序列预测
rnn·matlab·lstm
崇山峻岭之间14 小时前
Matlab学习笔记03
笔记·学习·matlab
Dargon28814 小时前
MATLAB的Simulink的While子系统(动作子系统)
开发语言·matlab·simulink·mbd软件开发
Dargon28814 小时前
MATLAB的Simulink的可变子系统(选择子系统)
开发语言·matlab
崇山峻岭之间14 小时前
Matlab学习记录08
开发语言·学习·matlab
youcans_16 小时前
【STM32-MBD】(1b)Matlab2025b 安装 STM32 硬件支持包
stm32·单片机·嵌入式硬件·matlab·simulink