数值积分

本文探讨如何应用Romberg算法来求解函数1/(1+x)在区间[0, 1.5]上的积分问题。" 108590838,10013304,Python编程:利润提成计算,"['Python', '算法', '编程问题', '数学运算', '奖金模型']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用Romberg算法求1/(1+x)在0到1.5上的积分;

function [RT,R,wugu,h] = romberg(fun,a,b,wucha,m)
n=1;h=b-a;wugu=1;x=a;k=0;RT=zeros(4,4);
RT(1,1)=h*(feval(fun,a)+feval(fun,b))/2;
while((wugu>wucha)&&(k<m)|(k<4))
    k=k+1;h=h/2;s=0;
    for j=1:n
        x=a+h*(2*j-1);
        s=s+feval(fun,x);
    end
     RT(k+1,1)=RT(k,1)/2+h*s;n=2*n;
    for i=1:k
        RT(k+1,i+1)=((4^i)*RT(k+1,i)-RT(k,i))/(4^i-1);
    end
    wugu=abs(RT(k+1,k)-RT(k+1,k+1));
end
R=RT(k+1,k+1);
end


>> F=inline('1./(1+x)');
>> [RT,R,wugu,h] = romberg(F,0,1.5,1.e-8,13)
Index exceeds matrix dimensions.

Error in romberg (line 11)
        RT(k+1,i+1)=((4^i)*RT(k+1,i)-RT(k,i))/(4^i-1);
 
>> F=inline('1./(1+x)');
[RT,R,wugu,h] = romberg(F,0,1.5,1.e-8,13)

RT =

    1.0500         0         0         0         0         0
    0.9536    0.9214         0         0         0        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值