拉格朗日乘数法示例6:三维约束曲面上的最值可视化

拉格朗日乘数法示例6:三维约束曲面上的最值可视化
几何画板及绘图内容加载中,请稍等……
2020-07-15 20:33
① 本范例通过三维图形直观演示了拉格朗日乘数法在求解约束优化问题中的应用,展示目标函数与约束曲面相切时取得极值的几何条件。② 核心数学概念包括多元函数极值、拉格朗日乘数法、梯度向量、约束曲面(圆柱面)以及切平面与法线的关系。③ 作图要点:利用GeoGebra命令如CurveCartesian构造参数曲线,Surface生成约束曲面,Vector绘制梯度向量(Vf、Vg),Point标记切点,Text与LaTeX显示公式,Slider(如a、α)调节参数,并通过Zip、Sequence等命令批量生成对象,实现动态交互。④ 适合大学微积分或多元函数优化课程的教学演示,也可供高年级学生自主探索拉格朗日乘数法的几何意义。

GeoGebra 命令及参数

  1. Simplify(Derivative[f, y, 1]) → fy'
  2. Simplify(Derivative[f, x, 1]) → fx'
  3. LeftSide(Cu_g) → g
  4. Simplify(Derivative[g, y, 1]) → gy'
  5. Simplify(Derivative[g, x, 1]) → gx'
  6. Point(Cu_g) → B
  7. Vector(B, B + UnitVector[Vector[B, Dg]] / 2) → u_g
  8. Vector(B, B + UnitVector[Vector[B, Df]] / 2) → u_f
  9. Angle(u_g, u_f) → α
  10. LaTeX(f, true) → text8a
  11. LaTeX(Cu_g, true) → text8b
  12. LaTeX(Cu0_y, true) → txtCu0_y
  13. Textfield(f) → InputBox3
  14. Textfield(Cu_g) → InputBox4
  15. Zip((x(a), y(a), f(a)), a, Sequence[Point[Cu_g, t / n], t, 0, n]) → lg_1
  16. Textfield(n) → InputBox5
  17. CurveCartesian(t, (0.8 - t^(2)) / (t + 1), f(t, (0.8 - t^(2)) / (t + 1)), t, (-π), π) → q1
  18. Surface(t, (0.8 - t^(2)) / (t + 1), u, t, -3, 3, u, -0.1, 0.00001) → g1
  19. IndexOf(Min[z(l2f)], z(l2f)) → Indexmin2
  20. Element(l1, Indexmax1) → Amax1
  21. Element(l1, Indexmin1) → Amin1
  22. Element(l1f, Indexmax1) → Amax1_{3D}
  23. Element(l1f, Indexmin1) → Amin1_{3D}
  24. Element(l2f, Indexmin2) → Amin2_{3D}
  25. Element(l2, Indexmin2) → Amin2
  26. Element(l2, Indexmax2) → Amax2
  27. Element(l2f, Indexmax2) → Amax2_{3D}
  28. RotateText(text14, 90°) → text15
  29. TableText(Append["N", 1…Length[l1]], Append["\fgcolor{red}{Cp}", l1], Append["\fgcolor{blue}{f}(\fgcolor{red}{C_p })", l1fa], Append["(\dot{f_x},\dot{f_y})", l1xy'_fa], Append["(\dot{g_x},\dot{g_y})", l1xy'_ga], Append["λ_x", lλ1ax], Append["λ_y", lλ1ay], Append["\widehat{\dot{g}\dot{f}} ", lα1], "c|_") → tTab1
  30. TableText(Append["N", 1…Length[l2]], Append["\fgcolor{red}{Cp}", l2], Append["\fgcolor{blue}{f}(\fgcolor{red}{C_p })", l2fa], Append["(\dot{f_x},\dot{f_y})", l2xy'_fa], Append["(\dot{g_x},\dot{g_y})", l2xy'_ga], Append["λ_x", lλ2ax], Append["λ_y", lλ2ay], Append["\widehat{\dot{g}\dot{f}} ", lα2], "c|_") → tTab2
  31. Segment(B, C) → f_1
  32. Text("∇f", Point[u_f, 1]) → text25f
  33. Text("∇g", Point[u_g, 1]) → text25g
  34. Simplify(fx'(x, y) - (gx'(x, y) * fy'(x, y) / gy'(x, y))) → Cu_xf
  35. Simplify(fy'(x, y) - (gy'(x, y) * fx'(x, y) / gx'(x, y))) → Cu_yf
  36. Textfield(txtCu01_x) → InputBox1
  37. Textfield(txtCu01_y) → InputBox2
  38. RemoveUndefined(Zip[Vector[c, c + UnitVector[a] / 2], a, l1xy'_f, c, l1]) → lvec1_f
  39. RemoveUndefined(Zip[Vector[c, c + UnitVector[a] / 2], a, l2xy'_f, c, l2]) → lvec2_f
  40. RemoveUndefined(Zip[Vector[c, c + UnitVector[a] / 2], a, l1xy'_g, c, l1]) → lvec1_g
  41. RemoveUndefined(Zip[Vector[c, c + UnitVector[a] / 2], a, l2xy'_g, c, l2]) → lvec2_g
  42. Zip(Segment[a, b], a, l1, b, l1f) → l1seg
  43. Sequence(Text[i, l1(i) - (0.2, 0.1)], i, 1, lä1) → l1txt
  44. Sequence(Text[i, l2(i) - (0.2, 0.1)], i, 1, lä2) → l2txt
  45. Zip(Segment[a, b], a, l2, b, l2f) → l2seg

AI 绘图提示语参考

绘制一个三维空间中的约束优化示意图:一个圆柱面作为约束曲面,其上有一条参数曲线表示可行路径,目标函数曲面与圆柱面在极值点处相切。在切点处画出两个梯度向量,分别垂直于目标函数等值线和约束曲面,并用角度标注它们之间的夹角。同时显示目标函数在约束曲线上的投影曲线,以及沿约束曲线分布的多个采样点,每个点处用短线段表示梯度方向。添加文字标签标注梯度符号和函数表达式,并用表格列出各采样点的坐标、函数值及梯度分量。
以上提示语为根据原始绘图命令整理而来,仅供参考。