==============================================================
Manipulate[
m = {{a1, b1}, {a2, b2}};
Show[VectorPlot[m.{x, y}, {x, -10, 10}, {y, -10, 10},
StreamPoints -> {{pt1, pt2, pt3, pt4}},
StreamStyle -> {Red, Thick}, ImageSize -> {460, 310}],
Graphics[{Thick, Orange,
Map[Line[{-100 #, 100 #}] &,
Select[Eigenvectors[
m], (Im[#[[1]]] == 0 && Im[#[[2]]] == 0) &]]}],
PlotLabel ->
Row[{Column[{Row[{Column[{Style[
"\!\(\*OverscriptBox[\(x\), \(.\)]\)", Italic],
Style["\!\(\*OverscriptBox[\(y\), \(.\)]\)", Italic]}],
Column[{" = ", " = "}],
TableForm[m.{Style["x", Italic], Style["y", Italic]}] //
N}]}], " ",
Column[{"Eigenvalues:",
NumberForm[Chop@N@Eigenvalues[m], {4, 2}]}], " ", ,
Column[{"Eigenvectors:",
NumberForm[Chop@N@Eigenvectors[m][[1]], {4, 2}],
NumberForm[Chop@N@Eigenvectors[m][[2]], {4, 2}] }]}]],
Style["\!\(\*OverscriptBox[\(\(x\)\(\\\ \)\), \(.\)]\)= \
\!\(\*SubscriptBox[\(a\), \(1\)]\)x + \!\(\*SubscriptBox[\(b\), \
\(1\)]\)y", Bold],
{{a1, 1, "\!\(\*SubscriptBox[\(a\), \(1\)]\)"}, -10, 10,
Appearance -> "Labeled"},
{{b1, 1, "\!\(\*SubscriptBox[\(b\), \(1\)]\)"}, -10, 10,
Appearance -> "Labeled"},
Style["\!\(\*OverscriptBox[\(y\), \(.\)]\) = \
\!\(\*SubscriptBox[\(a\), \(2\)]\)x + \!\(\*SubscriptBox[\(b\), \
\(2\)]\)y", Bold],
{{a2, 2, "\!\(\*SubscriptBox[\(a\), \(2\)]\)"}, -10, 10,
Appearance -> "Labeled"}, {{b2, -2,
"\!\(\*SubscriptBox[\(b\), \(2\)]\)"}, -10, 10,
Appearance -> "Labeled"}, {{pt1, {-5.1, 4.8}}, {-10, -10}, {10, 10},
Locator},
{{pt2, {4.9, 5.1}}, {-10, -10}, {10, 10}, Locator},
{{pt3, {-4.9, -5}}, {-10, -10}, {10, 10}, Locator},
{{pt4, {4.9, -5.2}}, {-10, -10}, {10, 10}, Locator},
TrackedSymbols -> True]
|