| 查看: 1479 | 回复: 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个边界条件,如何解决。 |
» 猜你喜欢
广西大学-广州大学招聘博士后 欢迎广大优秀人才!!!
已经有11人回复
闲聊
已经有3人回复
江苏省自然基金 什么时候出结果
已经有4人回复
如何查询2026年获批项目名称?
已经有3人回复
两块石头
已经有10人回复
科研人应该花精力去思考如何解决问题,而不是去凝练问题
已经有19人回复
售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急
已经有15人回复
面上没中,邀请各位路过的虫友分析一下分数
已经有13人回复
初秋的晨风
已经有6人回复
Ei源刊怎么投
已经有4人回复










回复此楼