matlab quad2,matlab中quad.m函数,我把它简化了,function [Q] = quad2(funfcn,a,b)f = fcnchk(funfcn);h = 0.13579*(...

本文介绍了一种MATLAB中数值积分函数quad.m的简化版本quad2。该简化版通过使用Simpson法则和Romberg外推法来计算一维函数的积分。文中详细展示了简化后的函数实现,并给出了具体步骤。

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

b357216499010bdf2c78f9eb61d172be.pngmatlab中quad.m函数,我把它简化了,function [Q] = quad2(funfcn,a,b)f = fcnchk(funfcn);h = 0.13579*(b-a);x = [a a+h a+2*h (a+b)/2 b-2*h b-h b];y = f(x);[Q(1)] = ...quadstep(f,x(1),x(3),y(1),y(2),y(3));[Q(2)] = ...quadstep(f,x(3),x(5),y(3),y(4),y

2016-03-30

matlab中quad.m函数,我把它简化了,

function [Q] = quad2(funfcn,a,b)

f = fcnchk(funfcn);

h = 0.13579*(b-a);

x = [a a+h a+2*h (a+b)/2 b-2*h b-h b];

y = f(x);

[Q(1)] = ...

quadstep(f,x(1),x(3),y(1),y(2),y(3));

[Q(2)] = ...

quadstep(f,x(3),x(5),y(3),y(4),y(5));

[Q(3)] = ...

quadstep(f,x(5),x(7),y(5),y(6),y(7));

Q = sum(Q);

function [Q] = quadstep(f,a,b,fa,fc,fb)

tol = 1.e-6;

h = b - a;

c = (a + b)/2;

x = [(a + c)/2,(c + b)/2];

y = f(x);

fd = y(1);

fe = y(2);

% Three point Simpson's rule.

Q1 = (h/6)*(fa + 4*fc + fb);

% Five point double Simpson's rule.

Q2 = (h/12)*(fa + 4*fd + 2*fc + 4*fe + fb);

% One step of Romberg extrapolation.

Q = Q2 + (Q2 - Q1)/15;

if abs(Q2 - Q)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值