Phasenraumbilder zu nichtlineare DGl-Systemen

Buch:Höhere Mathematik sehen und verstehen, Haftendorn, Riebesehl, Dammer, 
Springer Spektrum, Feb. 2021
Datei DGlSys-nonlinear-Bilder.nb zu Abschnitt 4.6.6 Seite 342, Abb. 4.27

Bilder zu Lösungskurven, instabiler Fixpunkt und instabiler Knoten

eqs={x'[t]==(3/10)((x[t])^2)-(4/10)y[t],y'[t]==((-2)/10)x[t]+(12/10) ((y[t])^2)};

eqs/.{x'[t]->(Subscript[x, 1])',y'[t]->(Subscript[x, 2])',x[t]->(Subscript[x, 1]),y[t]->(Subscript[x, 2])}//TeXForm

solpts=Solve[eqs/.{x'[t]->0,y'[t]->0,x[t]->x,y[t]->y}][[{1,2}]]

pts=Graphics[{Blue,PointSize[0.03],Point[{x,y}/.solpts]}];

vp=VectorPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-1,1},{y,-1,1},VectorScale->{0.03,Automatic,None},Axes->True,GridLines->None,BaseStyle->FontSize->20,VectorPoints->30]

stream=StreamPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-0.5,1},{y,-0.5,1},Axes->True,GridLines->None,BaseStyle->FontSize->30,FrameTicks->{{{-0.5,0,0.5,1},None},{{-0.5,0,0.5,1},None}},AxesStyle->{{Red,Thick,Arrowheads[0.07]},{Green//Darker,Thick,Arrowheads[0.07]}},AxesLabel->{"(Subscript[x, 1])","(Subscript[x, 2])"},StreamStyle->Thick,StreamScale->Large];

Show[stream,pts]

Bilder zu Lösungskurven, diesmal mit Wirbel

allgemein Suche nach Wirbel

f[x_,y_]:=a (x^2)+b y; g[x_,y_]:= c (y^2)+d x;

J=(({{(∂_x) f[x,y], (∂_y) f[x,y]}, {(∂_x) g[x,y], (∂_y) g[x,y]}}))

eig=Eigenvalues[J]

fix=Solve[{f[x,y]==0,g[x,y]==0},{x,y}]

fixeig=eig/.fix//Simplify

imeig=Solve[-(((a^(1/3)) (b^(2/3)) (d^(1/3)))/(c^(1/3)))-(((b^(1/3)) (c^(1/3)) (d^(2/3)))/(a^(1/3)))==0]

fixeig/.imeig[[3]]//PowerExpand//FullSimplify

nun eingesetzt

f[x_,y_]:= a (x^2)+ b y; g[x_,y_]:=c  (y^2)+ d x/.imeig[[3]]

g[x,y]

J=(({{(∂_x) f[x,y], (∂_y) f[x,y]}, {(∂_x) g[x,y], (∂_y) g[x,y]}}))

eig=Eigenvalues[J]

fix=Solve[{f[x,y]==0,g[x,y]==0},{x,y}]

fixeig=eig/.fix//PowerExpand//Simplify

Bilder dazu erzeugen

eqs={x'[t]==((x[t])^2)+y[t],y'[t]==-x[t]+((y[t])^2)};

solpts=Solve[eqs/.{x'[t]->0,y'[t]->0,x[t]->x,y[t]->y}][[{1,2}]]

eqs/.{x'[t]->(Subscript[x, 1])',y'[t]->(Subscript[x, 2])',x[t]->(Subscript[x, 1]),y[t]->(Subscript[x, 2])}//TeXForm

pts=Graphics[{Blue,PointSize[0.03],Point[{x,y}/.solpts]}];

vp=VectorPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-1,2},{y,-2,1},VectorScale->{0.03,Automatic,None},Axes->True,GridLines->None,BaseStyle->FontSize->20,VectorPoints->30]

stream=StreamPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-1,2},{y,-2,1},Axes->True,GridLines->None,BaseStyle->FontSize->30,FrameTicks->{{{-2,-1,0,1},None},{{-1,0,1,2},None}},AxesStyle->{{Red,Thick,Arrowheads[0.07]},{Green//Darker,Thick,Arrowheads[0.07]}},AxesLabel->{"(Subscript[x, 1])","(Subscript[x, 2])"},StreamStyle->Thick,StreamScale->Large];

Show[stream,pts]

Bilder zu Lösungskurven, diesmal instabiler und stabiler Knoten

allgemeine Suche

f[x_,y_]:=a (x^2)+b y-2x; g[x_,y_]:= c (y^2)-0 (x^2)+y;

J=(({{(∂_x) f[x,y], (∂_y) f[x,y]}, {(∂_x) g[x,y], (∂_y) g[x,y]}}))

eig=Eigenvalues[J]

fix=Solve[{f[x,y]==0,g[x,y]==0},{x,y}]

fixeig=eig/.fix//FullSimplify

fixeig/.{a->1,b->5,c->4}

nun eingesetzt

f[x_,y_]:=4(x^2)+5 y-2x; g[x_,y_]:= (y^2)+y;

g[x,y]

J=(({{(∂_x) f[x,y], (∂_y) f[x,y]}, {(∂_x) g[x,y], (∂_y) g[x,y]}}))

eig=Eigenvalues[J]

fix=Solve[{f[x,y]==0,g[x,y]==0},{x,y}]

fixeig=eig/.fix//PowerExpand//Simplify

Bilder dazu erzeugen

eqs={x'[t]==4((x[t])^2)+5y[t]-2x[t],y'[t]==y[t]+((y[t])^2)};

solpts=Solve[eqs/.{x'[t]->0,y'[t]->0,x[t]->x,y[t]->y}]

eqs/.{x'[t]->(Subscript[x, 1])',y'[t]->(Subscript[x, 2])',x[t]->(Subscript[x, 1]),y[t]->(Subscript[x, 2])}//TeXForm

pts=Graphics[{Blue,PointSize[0.03],Point[{x,y}/.solpts]}];

vp=VectorPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-5,5},{y,-5,5},VectorScale->{0.03,Automatic,None},Axes->True,GridLines->None,BaseStyle->FontSize->20,VectorPoints->30]

stream=StreamPlot[Transpose[List@@#&/@eqs][[2]]/.{x[t]->x,y[t]->y},{x,-1.5,2},{y,-1.5,0.5},Axes->True,GridLines->None,BaseStyle->FontSize->30,FrameTicks->{{{-1.5,-1,-0.5,0,0.5},None},{{-1,0,1,2},None}},AxesStyle->{{Red,Thick,Arrowheads[0.07]},{Green//Darker,Thick,Arrowheads[0.07]}},AxesLabel->{"(Subscript[x, 1])","(Subscript[x, 2])"},StreamStyle->Thick,StreamScale->Large,StreamPoints->Fine];

Show[stream,pts]