How to get two solution of this single equation
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%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 Kommentare
Torsten
am 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.
Antworten (1)
MOSLI KARIM
am 27 Nov. 2023
Bearbeitet: DGM
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Boundary Value Problems finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!