24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1046  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学工程调剂289 +44 yang婷 2026-04-07 50/2500 2026-04-12 02:36 by 秋豆菜芽
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 085400 328分 求调剂 +10 喂你一个大橙子 2026-04-09 14/700 2026-04-11 19:53 by lqspecial
[考研] 366求调剂 +7 不知名的小卅 2026-04-11 7/350 2026-04-11 16:45 by PeggyPeng17
[考研] 一志愿东北大学控制工程085406数二英二385,求调剂 +8 Ezra_Zhang 2026-04-09 8/400 2026-04-11 09:15 by 猪会飞
[考研] 计算机类求调剂,22408-274分 +7 上岸de小虫 2026-04-09 8/400 2026-04-10 19:56 by fxue1114
[硕博家园] 0856材料化工求调剂,一志愿211,初试成绩349 +5 江淮北月 2026-04-05 5/250 2026-04-10 16:26 by 高维春
[考研] 一志愿211 0703化学 346分求调剂 +22 土豆er? 2026-04-09 23/1150 2026-04-10 10:58 by 高维春
[考研] 301求调剂 +6 静静想想 2026-04-05 6/300 2026-04-10 09:15 by Delta2012
[考研] 085601初试330分找调剂 +10 流心奶黄包l 2026-04-09 10/500 2026-04-10 08:14 by Sammy2
[考研] 一志愿华工085600 331分 +6 天下ww 2026-04-09 6/300 2026-04-09 18:59 by l_paradox
[考研] 367求调剂 +10 hffQAQ 2026-04-09 10/500 2026-04-09 18:06 by lijunpoly
[考研] 一志愿中国科学院上海有机所,有机化学356分找调剂 +11 Nadiums 2026-04-09 11/550 2026-04-09 18:04 by lijunpoly
[考研] 一志愿郑州大学085600求调剂 +21 吃的不少 2026-04-05 24/1200 2026-04-08 16:47 by sunhuadong
[考研] 307分材料专业求调剂 +12 Hll胡 2026-04-05 12/600 2026-04-08 16:33 by luoyongfeng
[考研] 一志愿华东理工085601材料工程303分求调剂 +15 a1708 2026-04-06 15/750 2026-04-08 16:23 by luoyongfeng
[考研] 336求调剂,一志愿中科大 +9 墨彧 yuyu 2026-04-06 9/450 2026-04-08 11:24 by 想读书的菌菌
[考研] 一志愿南科大生物学297分,求调剂推荐 +8 Y-yyusx 2026-04-06 9/450 2026-04-07 19:38 by biomichael
[考研] 277求调剂 数一104分 +9 瓶子PZ 2026-04-05 14/700 2026-04-07 17:52 by 蓝云思雨
[考研] 331求调剂 +8 于征yz 2026-04-05 8/400 2026-04-06 00:54 by fmesaito
信息提示
请填处理意见