starlviola 发表于 2009-7-28 22:52

怎么获得如下自适应积分程序中关于x的离散区间

function =SmartSimpson(f,a,b,eps)
if (nargin==3)
    eps=1.0e-8;
end;
e=5*eps;
q=SubSmartSimpson(f,a,b,e);
x=sort(X);

function q=SubSmartSimpson(f,a,b,eps)
QA=IntSimpson(f,a,b,1,eps);
x=(a+b)/2;
QLeft=IntSimpson(f,a,x,1,eps);
QRight=IntSimpson(f,x,b,1,eps);
delta=abs(QLeft+QRight-QA);
if(delta<=eps)
    q=QA;
else
    q=SubSmartSimpson(f,a,x,eps)+SubSmartSimpson(f,x,b,eps);
end

上面这段程序是用来实现自适应辛普生积分,对积分区间采取自适应不等距划分,但程序只输出积分值,我想获得区间是怎么划分的,如何修改上面的程序?
上面用的是递归调用SubSmartSimpson,每调用一次,就判断是否对区间划分一次,如需划分,就生成x,我想把x输出,怎么输出呢?
页: [1]
查看完整版本: 怎么获得如下自适应积分程序中关于x的离散区间