【数值分析】区间折半法,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
相关推荐
iCxhust5 小时前
Matlab求解发电机的极限切除角
开发语言·算法·matlab·电力系统
LMT_Lanmantech12 小时前
MATLAB合规管理:如何避免侵权赔偿和审计风险
开发语言·matlab·信息可视化
Evand J13 小时前
【PMSM例程6】永磁同步电机(PMSM)基于增广EKF的d-q轴电感分阶段辨识算法|电机参数估计与误差分析
算法·matlab·电机·ekf
Matlab程序猿13 小时前
【MATLAB源码-第460期】基于matlab的OTFS通信系统SLM峰均比抑制及非线性功率放大器失真与误码性能仿真
开发语言·算法·matlab·slm·otfs
chhttty1 天前
Stateflow状态机建模:数据
matlab·simulink
Matlab程序猿1 天前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
机器学习之心2 天前
基于CNN-LSTM的轴承剩余寿命预测,MATLAB代码
matlab·cnn·lstm·cnn-lstm·轴承剩余寿命预测
菜鸟~noob2333 天前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab
菜鸟~noob2333 天前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab
Evand J4 天前
【电机滤波例程5】渐消因子自适应扩展卡尔曼滤波(EKF),MATLAB。PMSM负载突变下的状态估计。附下载链接
算法·matlab