24小时热门版块排行榜    

查看: 710  |  回复: 0

lslhcqy

新虫 (初入文坛)

[求助] 新手求教如何用bvp4c求解free flying robot这个问题

新手上路,求老司机带带啊!!!
问题描述如附图所示,我运行程序总是报错:HW_5bvpError using bvp4c (line 251)
Unable to solve the collocation equations -- a singular Jacobian encountered.


Error in HW_5bvp (line 4)
sol=bvp4c(@HW_5ode,@HW_5bc,solinit,options);


另外,问题里边有个条件为Ti≤1,我不知道该咋用,程序里没有体现出来。搞不清楚它是状态变量,还是控制变量:'(


下边是我编写的程序,包括5个.m文件
1.function  SetGlobalu( v )                                %该函数是将控制变量u(u1,u2,u3,u4)在第5个函数中设置为全局变量
global u
u=v;
end

2.function r = GetGlobalu                                %该函数是为了在其它函数中共享第5个函数设置的控制变量u
global u
r=u;
end
                                                                        %该函数是程序的主函数
3.HW_5bvp.m                                                  
function HW_5bvp
solinit=bvpinit(linspace(0,1,10),[-10;-10;0;0;pi/2;0;0;1;0;2;0;1;-1;1],12);    %设定时间初值及6个状态变量及其对应Px的初值,未知参数的初值设为12
options=bvpset('Stats','on','RelTol',1e-12,'AbsTol',1e-12);
sol=bvp4c(@HW_5ode,@HW_5bc,solinit,options);
y=sol.y;
time=sol.parameters*sol.x;
plot(time,y);
end

4.function res = HW_5bc(ya,yb,T )                       %设定问题的边界,y(1~13)分别表示x,y,Vx,Vy, θ, ω,Px,Py,PVx,PVy,Pθ,Pω,H(tf)
%哈密顿算子为H= Px* Vx+ Py*Vy+ PVx*cosθ*(u1-u2+u3-u4)+ PVy*sinθ*(u1-u2+u3-u4)+ Pθ*ω+ Pω*[α*(u1-u2)+ β*(u3-u4)]+(u1+u2+u3+u4)
r=GetGlobalu;
T3=r(1)-r(2)+r(3)-r(4);
T4=r(1)+r(2)+r(3)+r(4);
res=[ya(1)+10
    ya(2)+10
    ya(3)
    ya(4)
    ya(5)-pi/2
    ya(6)
    yb(1)
    yb(2)
    yb(3)
    yb(4)
    yb(5)
    yb(6)
    yb(7)*yb(3)+yb(8)*yb(4)+yb(11)*yb(6)+yb(12)*0.2*T3+yb(9)*cos(yb(5))*T3+yb(10)*sin(yb(5))*T3+T4];   
                                                                                                                %y(13)=0,该值为横截条件,H(tf)=0,因为tf自由
end



5.function dydt = HW_5ode( x,y,T )                                          
r=zeros(4,1);
if((1+y(9)*cos(y(5))+y(10)*sin(y(5))+y(12)*0.2)>0)         %这个是根据附图2里边的那个λTg来判断出来u=0或者1000的。λ即为前边H中的Px。
    r(1)=0;r(3)=0;
end
if((1+y(10)*sin(y(5))+y(9)*cos(y(5))+y(12)*0.2)<0)
    r(1)=1000;r(3)=1000;
end

if((1-y(9)*cos(y(5))-y(10)*sin(y(5))-y(12)*0.2)>0)
    r(2)=0;r(4)=0;
end
if((1-y(9)*cos(y(5))-y(10)*sin(y(5))-y(12)*0.2)<0)
    r(2)=1000;r(4)=1000;
end

SetGlobalu(r);
T1=r(1)-r(2);
T2=r(3)-r(4);
T3=r(1)-r(2)+r(3)-r(4);
dydt=T*[y(3)
    y(4)
    (T1+T2)*cos(y(5))
    (T1+T2)*sin(y(5))
    y(6)
    0.2*(T1+T2)
    0
    0
    y(7)
    y(8)
    -y(9)*sin(y(5))*T3+y(10)*cos(y(5))*T3
    0];
end



新手求教如何用bvp4c求解free flying robot这个问题
问题描述.png


新手求教如何用bvp4c求解free flying robot这个问题-1
公式推导.png
回复此楼
你我生活在不同的世界
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lslhcqy 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 5/250 2026-08-08 21:54 by 13586093586
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:22 by oEVWOejN9taj
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:19 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 15:07 by oEVWOejN9taj
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:47 by oEVWOejN9taj
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:39 by oEVWOejN9taj
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:22 by oEVWOejN9taj
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见