24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1047  |  回复: 1

thematicsroy

新虫 (小有名气)

[交流] Matlab自适应数值积分,用了递归,最后怎样清理全局变量?

求解问题是:对f在区间[a,b]上实现自适应剖分,并在每个小区间上用三点高斯数值积分公式。自适应剖分的条件可以参看下面的if条件.要求函数输出最终数值积分值,以及所有剖分得到的小区间及每个小区间上的三点高斯积分值
以下是m文件源码:
function [int, abt] = gadap(a, b, f, p, tol) %
format long
global p
global abt
xc=(a+b)/2;int=gauss3(f,a,b);
t1=gauss3(f,a,xc);t2=gauss3(f,xc,b);  %%[a,xc]、[xc,b]上f的三点高斯积分值
if (abs(int-t1-t2))>tol*max(abs(int),abs(t1)+abs(t2))   %%判定条件,若满足则将[a,b]等分为两部分
    int=gadap(a,xc,f,p,tol)+gadap(xc,b,f,p,tol);
else
    p=p+1;
    abt(p,=[a,b,int];
    if b==1
        clear global p     %%清除全局变量p
    end
end

function I = gauss3(f,a,b) %%三点高斯数值积分
ta = (b-a)/2;
tb = (a+b)/2;
I = ta*(0.55555556*subs(sym(f),findsym(sym(f)),ta*0.7745967+tb)+...
            0.55555556*subs(sym(f),findsym(sym(f)),-ta*0.7745967+tb)+...
            0.88888889*subs(sym(f),findsym(sym(f)),tb));


现在问题是这代码只能清除全局变量p,若是还清除abt,则函数根本返回不了abt,只能每次在command window里用clear global来清除,各位有没有更好的办法,如果不用到全局变量可以吗
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

thematicsroy

新虫 (小有名气)

居然出现一个笑脸,应为:abt(p,:)=[a,b,int];
2楼2016-03-07 23:58:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 thematicsroy 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料工程085601,270求调剂 +32 @ASDF1234 2026-04-08 34/1700 2026-04-12 18:02 by 郁郁菲菲
[考研] 0856专硕求调剂 希望是a区院校 +22 好好休息好不好 2026-04-09 25/1250 2026-04-12 17:09 by ajpv风雷
[考研] 一志愿085802 323分求调剂 +9 drizzle_9 2026-04-12 10/500 2026-04-12 14:51 by drizzle_9
[考研] 电气工程专硕320求调剂 +5 小麻子111 2026-04-10 5/250 2026-04-12 10:47 by zhouyuwinner
[考研] 347求调剂 +4 mhyqyy 2026-04-06 4/200 2026-04-12 02:27 by 秋豆菜芽
[考研] 一志愿新疆大学085401,314分 +4 咔咔咔咔9 2026-04-05 4/200 2026-04-12 02:21 by 秋豆菜芽
[考研] 调剂 +6 青灯不负 2026-04-09 6/300 2026-04-11 20:35 by dongdian1
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 化学308分求调剂 +22 你好明天你好 2026-04-07 24/1200 2026-04-11 11:14 by ChemPharm
[考研] 298求调剂 +9 钉叮咚冬瓜 2026-04-07 11/550 2026-04-11 09:35 by zhq0425
[考研] 302分求调剂 +9 凡语祈愿 2026-04-08 10/500 2026-04-10 23:26 by 314126402
[考研] 求调剂288 +6 ioodiiij 2026-04-10 8/400 2026-04-10 21:07 by zhouxiaoyu
[考研] 初试261 +3 Asht少 2026-04-10 6/300 2026-04-10 16:38 by Asht少
[考研] 一志愿京区985,085401电子信息,本科电子信息 +3 阳光开朗的男孩 2026-04-10 3/150 2026-04-10 16:29 by sophia_93
[考研] 本科211 工科085400 280分求调剂 可跨专业 +3 LZH(等待调剂中 2026-04-09 3/150 2026-04-09 21:29 by wutongshun
[考研] 材料工程调剂 +12 小刘同学吖吖 2026-04-06 13/650 2026-04-09 17:07 by luoyongfeng
[考研] 265求调剂 +4 风说她早忘了 2026-04-07 4/200 2026-04-09 13:59 by only周
[考研] 270求调剂 +3 031127 2026-04-06 4/200 2026-04-08 21:00 by 逆水乘风
[考研] 电子信息346 +4 zuoshaodian 2026-04-08 4/200 2026-04-08 11:54 by zzucheup
[考研] 一志愿西电085401求调剂 +4 sunw1306 2026-04-07 4/200 2026-04-07 16:40 by 啵啵啵0119
信息提示
请填处理意见