| 查看: 1442 | 回复: 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个边界条件,如何解决。 |
» 猜你喜欢
你们遇到过吗
已经有6人回复
航天502所 高瑛珂博士 婚内征婚 欺骗女性开房
已经有33人回复
关于水星近日点进动成因的质疑 与实证分析
已经有9人回复
婚姻里的赢家
已经有6人回复
祈祷自己至少3A2B上会啊!
已经有7人回复
山东省优青 青B通知了????
已经有3人回复











回复此楼