| 查看: 1428 | 回复: 0 | |||
[求助]
matlab解时间最优控制使用bvp4c解哈密顿方程组时出现错误
|
|
由于末端时刻未知,我将时间变换成末端固定时刻的问题时间区间(0,T)变换成(0,1),相应的状态方程乘以T 代码如下: T=22;%猜测最优时间 x=linspace(0,1,10); solinit=bvpinit(x,[0 0 0 0 0 -1/4] ,T); sol=bvp4c(@ode,@bc,solinit); %状态方程 function dydt=ode(t,y,T); b=400; v0=3; a=4; dydt=[T*y(3)*y(4)/sqrt(y(4)^2+y(5)^2) T*4/b^2*y(1)*(b-y(1))*v0+T*y(3)*y(5)/sqrt(y(4)^2+y(5)^2) T*sign(y(6))*-1*a; T*-1*4*y(5)/b^2*v0*(-2*y(1)+b) 0 T*-1*sqrt(y(4)^2+y(5)^2)] %边界条件 function res=bc(ya,yb,T); res=[ ya(1) ya(2) ya(3) yb(1)-400 yb(2) yb(3)]; %%%%%%%%%%%%%% 运行后发现错误为:Error using bvparguments (line 112) Error in calling BVP4C(ODEFUN,BCFUN,SOLINIT): The boundary condition function BCFUN should return a column vector of length 7. 大致意思是说需要返回7个边界条件,如何解决。 |
» 猜你喜欢
346求调剂[0856]
已经有7人回复
一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂!
已经有3人回复
310求调剂
已经有3人回复
机械专硕299求调剂至材料
已经有4人回复
070300化学319求调剂
已经有7人回复
08工科 320总分 求调剂
已经有6人回复
一志愿天津大学化学工艺专业(081702)315分求调剂
已经有12人回复
307求调剂
已经有3人回复
265求调剂
已经有3人回复
301求调剂
已经有10人回复













回复此楼