Filter löschen
Filter löschen

How to get two solution of this single equation

6 Ansichten (letzte 30 Tage)
Kamran
Kamran am 23 Aug. 2017
Bearbeitet: DGM am 24 Jan. 2024
%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
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.
Kamran
Kamran am 24 Aug. 2017
Thanks, I solved it.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

MOSLI KARIM
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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by