| 查看: 1417 | 回复: 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人回复
基金正文30页指的是报告正文还是整个申请书
已经有4人回复
今年春晚有几个节目很不错,点赞!
已经有6人回复
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复













回复此楼