Boundary Value Problem error bvp4c

1 次查看(过去 30 天)
I am trying to solve a differential equation using the bvp4c function (using boundary value conditions) but i always get the error "In an assignment A(:) = B, the number of elements in A and B must be the same. " i dont know why this error happens ?
init = bvpinit(linspace(0,2,10),[0 0 0]);
sol = bvp4c(@Kpath1,@bcpath,init);
t = linspace(0,2,100);
BS = deval(sol,t);
plot(t,BS(1,:))
function bv = bcpath(L,R)
bv = [L(1) L(2) L(3)-1.2; R(1)-2 R(2)-2 R(3)-1.2];
end
function dt = Kpath1(~,c)
L = 0.12;
r = 0.1;
WL = 0.25;WR = 0.25;
x = c(1);y = c(2);th = c(3);
dx = (((r*WL)+(r*WR))/2) * cos(th);
dy = (((r*WL)+(r*WR))/2) * sin(th);
dth= ((r*WR)-(r*WL))/L;
dt = [dx;dy;dth];
pose = [x y th];
end
Thanks in advance

采纳的回答

Torsten
Torsten 2017-4-24
You need to return a 3x1 vector instead of a 2x3 matrix in "bcpath".
Best wishes
Torsten.
  3 个评论
Torsten
Torsten 2017-4-24
Seems you'll have to use "pdepe" instead of "bvp4c".
Best wishes
Torsten.
Moustafa Aboubakr
Moustafa Aboubakr 2017-4-24
Thanks, but i converted the system of equations from dydt,dxdt into dydx ad dtheta/dx and bvp4c worked fine :) I didnt understand the concept of bvp correctly thnaks again

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Boundary Value Problems 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by