How to get two solution of this single equation
1 view (last 30 days)
Show older comments
%The range for one solution 0-20 and for seconde 40-120.
function My
xa = 0; xb = 20;
solinit = bvpinit(linspace(xa,xb,1000),[1 0 0]);
sol = bvp4c(@rhs_bvp,@bc_bvp,solinit);
xint = linspace(xa,xb,1000);
Sxint = deval(sol,xint);
plot(x,Sxint(1,:));
function rhs=rhs_bvp(x,y)
rhs=[y(2); y(3) ; y(2)^2-y(1)*y(3)];
end
function bc=bc_bvp(ya,yb)
bc=[ya(1)-2; ya(2)+1-ya(3)+ya(4); yb(2)];
end
end
5 Comments
Torsten
on 23 Aug 2017
Then, instead of ya(4), you will have to use ya(2)^2-ya(1)*ya(3).
By the way: K is equal to 0 in your example code, not equal to 1.
Best wishes
Torsten.
Answers (1)
MOSLI KARIM
on 27 Nov 2023
Edited: DGM
on 24 Jan 2024
My
%The range for one solution 0-20 and for seconde 40-120.
function My
xa = 0; xb = 20;
xint = linspace(xa,xb,1000);
solinit = bvpinit(linspace(xa,xb,1000),[1 0 0]);
sol = bvp4c(@rhs_bvp,@bc_bvp,solinit);
Sxint = deval(sol,xint);
plot(xint,Sxint(1,:));
function rhs=rhs_bvp(~,y)
rhs=[y(2)
y(3)
y(2)^2-y(1)*y(3)];
end
function bc=bc_bvp(ya,yb)
bc=[ya(1)-2; ya(2)+1-ya(3); yb(2)];
end
end
0 Comments
See Also
Categories
Find more on Boundary Value Problems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!