声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 846|回复: 0

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

[复制链接]
发表于 2009-7-28 22:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [q,x]=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输出,怎么输出呢?

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 05:31 , Processed in 0.073707 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表