24小时热门版块排行榜    

查看: 1732  |  回复: 7

天才超人

新虫 (初入文坛)

[求助] Matlab解微分方程 求助 已有1人参与

各位大神走过路过 拜托帮帮忙 🙏

我需要用Matlab解3个ODE方程,用的是bvp4c

solinit=bvpinit(linspace(0,LA,1000),[E_A U_A C_OH_A]);
options=bvpset('RelTol',1e-3,'AbsTol',[1e-12 1e-12 1e-12]);
sol=bvp4c(@odefun,@odebc,solinit,options);


方程的file如下:
function [dydx]=odefun(y)
global F R T Z_Na Z_Cl Z_OH Z_H C_Na_A C_Cl_A i U_A FixedCharge D_OH e D_H
C_Na=C_Na_A*exp(-Z_Na*F/R/T*(y(2)-U_A));  % conc of Na+
C_Cl=C_Cl_A*exp(-Z_Cl*F/R/T*(y(2)-U_A));  % conc of Cl-
dydx(1)=F/e*(C_Na-C_Cl+10^(-8)/y(3)-y(3)+FixedCharge);   % Electric field
dydx(2)=-y(1);                                           % Electric potential
J_H=-D_H*(-10^(-8)/y(3)^2*dydx(3)+Z_H*F/R/T*10^(-8)/y(3)*dydx(2));  %Flux of H+
dydx(3)=-(i/F-Z_H*J_H)/Z_OH/D_OH-Z_OH*F/RT*y(3)*dydx(2);      % Conc of OH-
end

边界条件如下:
function [res]=odebc(ya,~)
global  C_OH_A U_A E_A
res(1)=ya(1) - E_A;
res(2)=ya(2) - U_A;
res(3)=ya(3) - C_OH_A;
res=res';
end

运行后一直收到如下的错误信息:
Error using BPM_ode_Dec1417>odefun
Too many input arguments.

Error in bvparguments (line 105)
    testODE = ode(x1,y1,odeExtras{:});

Error in bvp4c (line 130)
    bvparguments(solver_name,ode,bc,solinit,options,varargin);

Error in BPM_ode_Dec1417 (line 40)
sol=bvp4c(@odefun,@odebc,solinit,options);

盯着程序两天了,各种variable换来换去,实在是解不出来。所以来拜托各位大神了 🙏🙏  谢谢!
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2017-12-16 07:09:13
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

陈时通

铁虫 (小有名气)

不会  我的问题和你一样

发自小木虫Android客户端
3楼2017-12-16 13:36:47
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

天才超人

新虫 (初入文坛)

拜托各位高手帮忙看一下。。
4楼2017-12-17 03:39:10
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

天才超人

新虫 (初入文坛)

拜托拜托!!感谢感谢!!
5楼2017-12-18 06:20:18
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

天才超人

新虫 (初入文坛)

我把bvp4c换成了ode45,并简化了最后一个方程,如下:

y0=[E_A;U_A;C3A];
xspan=[0 10^(-4)];
sol=ode45(@odefun,xspan,y0);

function [dydx]= odefun(x,y)     
global F R T Z1 Z2 Z3 C1A C2A i U_A FixedCharge D3 e
C1=C1A.*exp(-Z1.*F/R/T.*(y(2)-U_A));  
C2=C2A.*exp(-Z2.*F/R/T.*(y(2)-U_A));
dydx(1)=F/e*(C1-C2+10^(-8)/y(3)-y(3)+FixedCharge);              
dydx(2)=-y(1);                                                      
dydx(3)=-i/Z3/D3-Z3*F/R/T*y(3)*dydx(2);         
end

收到了错误信息:
Error using bvp4c (line 251)
Unable to solve the collocation equations -- a singular Jacobian encountered.
Error in ODEtest (line 37)
sol=bvp4c(@odefun,@odebc,solinit);

可以帮忙解释一下这是怎么回事吗?谢谢!
6楼2017-12-18 16:08:21
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

chendequan

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
内容已删除
QQ:516477448,真心帮助解决MATLAB相关问题,提供详细资料,Word文档明确具体问题及要求,尽力而为!
7楼2017-12-18 18:22:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

天才超人

新虫 (初入文坛)

已解决
8楼2017-12-19 13:31:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 天才超人 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +24 医学老男孩 2026-08-13 50/2500 2026-08-15 06:38 by 学员8dgXkO
[基金申请] filecode +7 cratir 2026-08-14 11/550 2026-08-15 06:19 by 学员8dgXkO
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 01:28 by 4wMiSEwB6436
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 7lpolszZVXgi 2026-08-14 4/200 2026-08-15 01:08 by 4wMiSEwB6436
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 7/350 2026-08-15 00:40 by 4wMiSEwB6436
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 HFw0lei2R37i 2026-08-14 8/400 2026-08-15 00:16 by 4wMiSEwB6436
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 00:16 by 4wMiSEwB6436
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见