隐函数系统方程的图形与数值CAS解法 by Roman Chijner (2)

隐函数系统方程的图形与数值CAS解法 by Roman Chijner (2)
几何画板及绘图内容加载中,请稍等……
2017-02-10 20:37
本范例演示了如何使用图形和数值方法通过CAS解决包含隐函数的二元方程组。核心数学概念包括隐函数、方程组解法和CAS计算。构造摘要中使用了ImplicitCurve、Intersect、PolyLine等GeoGebra命令。适合高中数学教学和学习。

GeoGebra 命令及参数

  1. ImplicitCurve(f1(x, y)) → a
  2. Intersect(Circle[D, r_a], OrthogonalLine[D, Segment[D, ClosestPoint[a, D]]], 2) → Z2_a
  3. Intersect(Circle[D, r_a], OrthogonalLine[D, Segment[D, ClosestPoint[a, D]]], 1) → Z1_a
  4. PolyLine(Zip[ClosestPoint[a, B], B, Z1_a + ((Z2_a - Z1_a) / n_a * Sequence[i, i, 0, n_a])]) → polZa
  5. ImplicitCurve(f2(x, y)) → b
  6. Intersect(Circle[D, r_b], OrthogonalLine[D, Segment[D, ClosestPoint[b, D]]], 1) → Z1_b
  7. Intersect(Circle[D, r_b], OrthogonalLine[D, Segment[D, ClosestPoint[b, D]]], 2) → Z2_b
  8. PolyLine(Zip[ClosestPoint[b, B], B, Z1_b + ((Z2_b - Z1_b) / n_b * Sequence[i, i, 0, n_b])]) → polZb
  9. Element({Intersect[polZb, polZa]}, 1) → PZ
  10. Textfield(Nn) → InputBox4
  11. Textfield(e) → InputBox5
  12. Textfield(x_{min}) → InputBox6
  13. Textfield(x_{max}) → InputBox7
  14. Textfield(y_{min}) → InputBox8
  15. Textfield(y_{max}) → InputBox9
  16. Polygon((x_{min}, y_{min}), (x_{max}, y_{min}), (x_{max}, y_{max}), (x_{min}, y_{max})) → poly1, g1_s, g2_s, g3_s, s4_s
  17. Length(lr1) → llr1
  18. Length(lf2) → llf2
  19. Textfield(r) → InputBox16
  20. Element(lr1, i_{manual}) → C_t
  21. Length(lf1) → llf1
  22. Textfield(n_a) → InputBox21
  23. Textfield(n_b) → InputBox22
  24. Textfield(r_a) → InputBox23
  25. Textfield(q) → InputBox24
  26. PolyLine(Z1_a + ((Z2_a - Z1_a) / n_a * Sequence[i, i, 0, n_a])) → poly2_aa
  27. PolyLine(Z1_b + ((Z2_b - Z1_b) / n_b * Sequence[i, i, 0, n_b])) → poly2_bb
  28. Point(poly2_aa, e1) → R_a
  29. Point(poly2_bb, e2) → R_b
  30. ClosestPoint(a, R_a) → R'_a
  31. ClosestPoint(b, R_b) → R'_b
  32. Length(R'_a - R'_b) → dmaxmins2
  33. If(Defined[PZ], If[fza2 < fzb2, (f1za2, f2za2), (f1zb2, f2zb2)], (NaN, NaN)) → errorz2
  34. If(Defined[PZ], If[fza2 < fzb2, R'_a, R'_b], (NaN, NaN)) → Pz2
  35. If(ca, PZ, Pz2) → PZ0
  36. If(ca, f11, x(errorz2)) → f110
  37. If(ca, f22, y(errorz2)) → f220
  38. Element(listxyres1, f) → B_t
  39. Textfield(r_b) → InputBox13
  40. Element(roots0, f) → A
  41. Textfield(f1) → InputBox1
  42. Textfield(f2) → InputBox3
  43. Corner(1) → Corner1
  44. Corner(2) → Corner2
  45. Corner(3) → Corner3
  46. ImplicitCurve(f01(x, y)) → c
  47. Textfield(α) → InputBox11
  48. Textfield(i_{manual}) → Eingabefeld1
  49. Textfield(f) → Eingabefeld2
  50. Length(lr2) → llr2
  51. If(Length[listxyres1] ≟ 0 ∨ (i > m1), E, Element[listxyres1, i]) → B
  52. Textfield(v_i) → InputBox2
  53. TableText({Join[{{"N"}, Sequence[i, i, 1, Length[roots0]]}], Join[{{""}, Sequence["→", i, 1, f]}], Join[{{" x:"}, x(roots0)}], Join[{{" y:"}, y(roots0)}], Join[{{"f1*10^-9"}, lf1_{Pr}2}], Join[{{"f2* 10^-9"}, lf2_{Pr}2}]}, "vr") → Text2
  54. TableText({Join[{{"N"}, Sequence[i, i, 1, llr1]}], Join[{{""}, Sequence["→", i, 1, i_{manual}]}], Join[{{"x:"}, x(lr1)}], Join[{{"y:"}, y(lr1)}], Join[{{"f1* 10^-9"}, lf1}], Join[{{"f2* 10^-9"}, lf2}]}, "vr") → text8