【数值分析】区间折半法,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
相关推荐
机器学习之心1 天前
MATLAB基于变权理论和灰色云模型的海岛旅游地生态安全评价
安全·matlab·旅游·灰色云模型
tyatyatya1 天前
对比传统方法和深度学习方法在MATLAB视觉检测中的优缺点
深度学习·matlab·视觉检测
MATLAB代码顾问1 天前
MATLAB实现TCN神经网络数值预测
开发语言·matlab
Evand J1 天前
【MATLAB例程】基于噪声协方差自适应的互补滤波器方法vs标准互补滤波,用于融合加速度计和陀螺仪数据,估计角度
开发语言·matlab
ytttr8731 天前
64QAM信号的数字预失真处理(MATLAB实现)
开发语言·matlab
机器学习之心2 天前
MATLAB遗传算法优化RVFL神经网络回归预测(随机函数链接神经网络)
神经网络·matlab·回归
Dlkoiw2 天前
CSMA(aloha)
matlab·aloha·csma·协议演进过程
机器学习之心2 天前
基于双向时序卷积网络(BiTCN)与支持向量机(SVM)混合模型的时间序列预测代码Matlab源码
网络·支持向量机·matlab
MATLAB代码顾问2 天前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
民乐团扒谱机2 天前
深入浅出理解克尔效应(Kerr Effect)及 MATLAB 仿真实现
开发语言·matlab·光学·非线性光学·克尔效应·kerr effect