Phase portrait of homogeneous linear first-order system DE

Phase portrait of homogeneous linear first-order system DE
Loading the math board and drawing, please wait…
2016-10-13 14:51
This example demonstrates the phase portrait of a homogeneous linear first-order system of differential equations. Key mathematical concepts involved include differential equations, linear equations, logarithmic functions, similar triangles, frequency distribution, and right triangles. The construction utilizes GeoGebra commands and objects such as Identity, Element, If, Textfield, UnitVector, Line, SurdText, Locus, Sequence, Point, Segment, Mirror, Determinant, and LaTeX. It is suitable for university-level mathematics students or learners seeking a graphical understanding of differential equations.

GeoGebra Commands & Parameters

  1. Identity(2) → I
  2. Element(eigenvalues, 2) → λ2
  3. Element(eigenvalues, 1) → λ1
  4. If(c ≠ 0 ∨ a - λ1 ≠ 0, Vector[((sgn(a - λ1) * (a - λ1)), (sgn(a - λ1) * c))], Vector[If[b ≠ 0 ∨ d - λ1 ≠ 0, Vector[((sgn(b) * b), (sgn(b) * (d - λ1)))], Vector[(1, 0)]]]) → Ev2
  5. If(c ≟ 0 ∧ b ≟ 0 ∧ a > d, Vector[(1, 0)], Vector[If[c ≟ 0 ∧ b ≟ 0 ∧ a ≤ d, Vector[(1, 0)]]]) → w2
  6. If(c ≟ 0 ∧ b ≟ 0 ∧ a > d, Vector[(0, 1)], Vector[If[c ≟ 0 ∧ b ≟ 0 ∧ a ≤ d, Vector[(0, 1)]]]) → w1
  7. Textfield(a) → InputBox1
  8. Textfield(b) → InputBox2
  9. Textfield(c) → InputBox3
  10. Textfield(d) → InputBox4
  11. If(a^(2) + ((4 * b) * c) - ((2 * a) * d) + d^(2) > 0, 2, If[a^(2) + ((4 * b) * c) - ((2 * a) * d) + d^(2) < 0, 0, 1]) → numEigenvalues
  12. UnitVector(Vector[If[eive2 ≟ eive2, eive2, Vector[If[w2 ≟ w2, w2, Ev2]]]]) → e2
  13. UnitVector(Vector[If[eive1 ≟ eive1, eive1, Vector[If[numEigenvalues ≟ 1, Ev2, Vector[If[w1 ≟ w1, w1, Ev1]]]]]]) → e1
  14. Line((0, 0), e1) → h
  15. Line((0, 0), e2) → i
  16. SurdText(x(e1)) → text8
  17. SurdText(y(e1)) → text9
  18. SurdText(x(e2)) → text10
  19. SurdText(y(e2)) → text11
  20. SurdText(λ1) → text14
  21. SurdText(λ2) → text15
  22. Locus(g(x, y) / f(x, y), A) → numericalIntegral1
  23. Sequence((x(Element[ListP, i]) + (0.001 * f(x(Element[ListP, i]), y(Element[ListP, i]))), y(Element[ListP, i]) + (0.001 * g(x(Element[ListP, i]), y(Element[ListP, i])))), i, 1, 8) → ListP1
  24. Sequence(Segment[Element[ListP, i], Element[ListP1, i]], i, 1, 8) → SegmentList
  25. Element(SegmentList, 1) → Segment1
  26. Element(SegmentList, 2) → Segment2
  27. Element(SegmentList, 3) → Segment3
  28. Element(SegmentList, 4) → Segment4
  29. Element(SegmentList, 5) → Segment5
  30. Element(SegmentList, 6) → Segment6
  31. Element(SegmentList, 7) → Segment7
  32. Sequence(Locus[g(x, y) / f(x, y), Element[ListP, i]], i, 1, 8) → list1
  33. Element(SegmentList, 8) → Segment8
  34. Point(h) → N
  35. Point(i) → O
  36. Segment(N, N1) → Segment9
  37. Segment(O, O1) → Segment10
  38. Mirror(N, (0, 0)) → N'
  39. Mirror(N1, (0, 0)) → N1'
  40. Segment(N', N1') → Segment9'
  41. Mirror(O, (0, 0)) → O'
  42. Mirror(O1, (0, 0)) → O1'
  43. Segment(O', O1') → Segment10'
  44. Determinant(T) → Determinant
  45. Textfield(a) → InputBox1_1
  46. Textfield(b) → InputBox2_1
  47. Textfield(c) → InputBox3_1
  48. Textfield(d) → InputBox4_1
  49. Determinant(T_1) → Determinant_1
  50. If(eive2 ≟ eive2, eive2, Vector[If[w2 ≟ w2, w2, Ev2]]) → e22
  51. If(eive1 ≟ eive1, eive1, Vector[If[numEigenvalues ≟ 1, Ev2, Vector[If[w1 ≟ w1, w1, Ev1]]]]) → e11
  52. Element(CEigenvalues, 1) → cλ1
  53. Element(CEigenvalues, 2) → cλ2
  54. Identity(2) → I_1
  55. Element(eigenvalues_1, 1) → λ1_1
  56. Textfield(a) → InputBox1_2
  57. Textfield(b) → InputBox2_2
  58. Textfield(c) → InputBox3_2
  59. Textfield(d) → InputBox4_2
  60. SurdText(λ1_1) → text14_1
  61. Determinant(T_2) → Determinant_2
  62. Textfield(a) → InputBox1_3
  63. Textfield(b) → InputBox2_3
  64. Textfield(c) → InputBox3_3
  65. Textfield(d) → InputBox4_3
  66. LaTeX(CEigenvalues) → text16