24小时热门版块排行榜    

Znn3bq.jpeg
查看: 115  |  回复: 0
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 Shoney 的 30 个金币

Shoney

木虫 (著名写手)

[交流] 【求助】大家帮忙看看这个求最优参数的程序问题在哪儿?

是一个根据实验i数据求最优扩散系数的问题,即有一种物质扩散入一个圆柱体内,实验测得各个时间点的浓度,方程是一个PDE方程。运行结果没提示错误,但结果就是不对,最优的Deff值老是等于初值,不知道问题出在哪儿。(附件是源程序)程序如下:

function ACdisc_Diffusion
clear all;clc;
global Cm;
%动力学数据
tlist=[0 1 2 5 10 20 30 60];    %测量的时间点,单位min
Cm=[0 4.30 5.20 6.17 7.53 8.41 8.80 9.04];    %测得的AC中DMSO平均浓度,单位%w/w

%非线性拟合
C0=0;
Deff0=0.0116;    %单位mm2/min
[Deff,resnorm,resid,exitflag,output,lambda,jacobian]=lsqnonlin(@OptObjFunc,Deff0,[],[],[],tlist,C0,Cm)
ci=nlparci(Deff,resid,jacobian)

%--------------------------------------------------------------------------
%求解PDE
function C=OptObjFunc(Deff,tlist,C0,Cm)   
%PDE问题定义及参数初始化
g='ACdiscg1';    %定义求解域,几何尺寸单位mm
b='ACdiscb1';    %定义边界条件
d=['x/' num2str(Deff)];c='x';a=0;f=0;    %方程的系数

%网格化(三角形网格划分及网格细化)
[p,e,t]=initmesh(g);
[p,e,t]=refinemesh(g,p,e,t);
[p,e,t]=refinemesh(g,p,e,t);
p=jigglemesh(p,e,t);

%绘制PDE三角形网格
pdemesh(p,e,t);

u=parabolic(C0,tlist,b,p,e,t,c,a,f,d);    %计算得到的AC中任意时间任意位置DMSO浓度
%积分求解DMSO平均浓度的计算值
xi=linspace(0,3,100);yi=linspace(0,0.38,100);
Cc2(1,1)=0;    %赋值0,因进行网格转化时,值由线性插值得到;结果Cc2(1,1)≠0(边界值=9.04)
for i=2:length(tlist)
    Cc{1,i}=tri2grid(p,t,u(:,i),xi,yi);    %各个时间点分别进行网格转化
    Cc0=Cc{1,i};
    Cc1(1,i)=dblquad(@Func,0,3,0,0.38,[],@quadl,xi,yi,Cc0);    %积分求各个时间点对应的总浓度
    Cc2(1,i)=Cc1(1,i)/(3*0.38);    %平均浓度
end
C=Cc2-Cm;    %残差
   
%--------------------------------------------------------------------------
function f=Func(x,y,xi,yi,Cc0)
f=interp2(xi,yi,Cc0,x,y);

运行结果如下:
Optimization terminated: first-order optimality less than OPTIONS.TolFun,
and no negative/zero curvature detected in trust region model.
Deff =

    0.0116


resnorm =

    2.7230


resid =

         0   -1.0917   -0.7775    0.4317    0.6481    0.5194    0.2249    0.0000


exitflag =

     1


output =

    firstorderopt: 0
       iterations: 0
        funcCount: 2
     cgiterations: 0
        algorithm: 'large-scale: trust-region reflective Newton'
          message: [1x137 char]


lambda =

    lower: 0
    upper: 0


jacobian =

   All zero sparse: 8-by-1


ci =

  1.0e+007 *

   -9.8973    9.8973

[ Last edited by Shoney on 2009-9-15 at 10:42 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Shoney 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 求助大佬sci投稿哪个好中 +4 江沅188 2026-05-12 5/250 2026-05-19 15:50 by CFD_Helper
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 3/150 2026-05-19 13:56 by xtlilibin
[教师之家] 上海大学实验技术岗位非升即走 +10 嘻嘻哈哈乐呵呵 2026-05-15 11/550 2026-05-19 10:03 by 嘻嘻哈哈乐呵呵
[基金申请] 同样的基金本子,换个专家直接从C变A! +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[考博] 2026博士还有哪些学校有名额 +7 小王求读研 2026-05-15 8/400 2026-05-19 08:27 by zhyzzh
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +3 光伏爱好者 2026-05-17 4/200 2026-05-19 01:19 by 风起于浮萍
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +8 1234567wang 2026-05-17 10/500 2026-05-18 18:52 by zzahkj
[基金申请] 国自然上会要求 +5 无名者登山 2026-05-18 9/450 2026-05-18 17:50 by BlakeReary
[硕博家园] 考博自荐 +5 科研狗111 2026-05-13 6/300 2026-05-18 11:22 by 糊糊涂涂好
[基金申请] 青C资助名额大幅增加! +12 西葫芦炒鸡蛋 2026-05-13 16/800 2026-05-18 10:02 by Equinoxhua
[基金申请] 重磅!青年科学基金项目(C类)资助增幅预计超过50% +7 水和泥不是水泥 2026-05-13 10/500 2026-05-18 07:50 by 水和泥不是水泥
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
[文学芳草园] 半夜喝咖啡 +3 myrtle 2026-05-15 5/250 2026-05-18 01:03 by 小沈2018
[高分子] 本人最近太闲了,谁有问题可以提,每天会统一回复 +9 一切都是空工 2026-05-12 20/1000 2026-05-16 19:52 by Equinoxhua
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[硕博家园] 申请博士 +3 呃?呃 2026-05-15 3/150 2026-05-16 11:01 by a4742549
[文学芳草园] 风把牡丹吹跑了 +5 myrtle 2026-05-12 9/450 2026-05-15 15:27 by myrtle
[考博] 26应届毕业生考博求助 +3 wo一定上岸 2026-05-13 3/150 2026-05-14 21:47 by 明海天涯
[考博] 材料类只有一篇综述能申博么 +4 乐逍遥谷 2026-05-13 4/200 2026-05-14 12:05 by zhyzzh
信息提示
请填处理意见