| 查看: 1470 | 回复: 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换来换去,实在是解不出来。所以来拜托各位大神了 🙏🙏 谢谢! |
» 猜你喜欢
286分人工智能专业请求调剂愿意跨考!
已经有8人回复
资源与环境 调剂申请(333分)
已经有5人回复
280求调剂
已经有12人回复
269专硕求调剂
已经有5人回复
求调剂院校信息
已经有3人回复
材料学硕301分求调剂
已经有7人回复
初试 317
已经有7人回复
一志愿211,0703化学310分求调剂
已经有3人回复
广西大学材料导师推荐
已经有5人回复
化学调剂
已经有5人回复
4楼2017-12-17 03:39:10
2楼2017-12-16 07:09:13

3楼2017-12-16 13:36:47
5楼2017-12-18 06:20:18













回复此楼