Unexpected error
function dFdx=funode(x,F)
global Lamda
global K1
global P
dFdx=[F(2) ; -K1*P+F(1)*Lamda^2];
function res=myfunbc(Fa,Fb)
global P
res=[Fa(1) ; Fb(1)-P];
solinit=bvpinit(linspace(0,l,2),[1 0]);
sol = bvp4c(@funode,@myfunbc,solinit);
x = linspace(0,l);
F = deval(sol,x);
After that i have an error The derivative function ODEFUN should return a column vector of length 2. why?

 采纳的回答

James Tursa
James Tursa 2017-9-29
编辑:James Tursa 2017-9-29
Make it a column vector as requested:
dFdx=[F(2) ; -K1*P+F(1)*Lamda^2];

11 个评论

still the same error
What about the other function:
res=[Fa(1) ; Fb(1)-P];
Nadim Mhanna
Nadim Mhanna 2017-9-29
编辑:Nadim Mhanna 2017-9-29
i did corrected both but didn't work
What is the size of each of the variables K1, P, and Lamda?
Nadim Mhanna
Nadim Mhanna 2017-9-29
编辑:Nadim Mhanna 2017-9-29
They are constants i.e. k1=5 Lamda=13 P=252
Where is the value of P coming from in your lines
function res=myfunbc(Fa,Fb)
res=[Fa(1) Fb(1)-P];
You are not using the form of "function" that would allow P to be a shared variable.
I did it by entering global P
For all the variables I put the global value that i did assign but still not working
When you use a global variable, it is not uncommon for the global variable to turn out to be empty at the time it is used.
okay got it Thanks all
@Nadim Mhanna: Please do not use flags to mark a "best answer". Flagging is thought to inform admins and editors, that a contribution needs attention, because it violates the terms of use, e.g. by rudeness.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by