| 查看: 1471 | 回复: 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换来换去,实在是解不出来。所以来拜托各位大神了 🙏🙏 谢谢! |
» 猜你喜欢
本人考085602 化学工程 专硕
已经有23人回复
311求调剂
已经有9人回复
求调剂院校信息
已经有4人回复
085600材料与化工306
已经有4人回复
286求调剂
已经有10人回复
328求调剂,英语六级551,有科研经历
已经有9人回复
一志愿北京化工大学070300 学硕336求调剂
已经有4人回复
286分人工智能专业请求调剂愿意跨考!
已经有8人回复
资源与环境 调剂申请(333分)
已经有5人回复
280求调剂
已经有12人回复
5楼2017-12-18 06:20:18
2楼2017-12-16 07:09:13

3楼2017-12-16 13:36:47
4楼2017-12-17 03:39:10













回复此楼