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 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by