Qurak

Normals to contours

Ví dụ 4 bước, chạy theo thứ tự trong một phiên. Từng bước đều được thực thi trên bộ máy và đầu ra bên dưới là những gì nó tạo ra.

Bước 1
f[x_, y_] := (x ^ 2/4) - 2x ^ 2 y - 3x y + y ^ 4 / 16

Không có đầu ra - bước này chuẩn bị cho bước kế tiếp.

Bước 2
grad[x_, y_] = Grad[f[x, y], {x, y}]
Đầu ra
{x/2 - 3*y - 4*x*y, -3*x - 2*x^2 + y^3/4}
Bước 3
normal[x_, y_] = Simplify[(grad[x, y]/Sqrt[grad[x, y].grad[x, y]])]
Đầu ra
{(x - 6*y - 8*x*y)/(2*Sqrt[(37*x^2)/4 + 12*x^3 + 4*x^4 - 3*x*y - 4*x^2*y + 9*y^2 + 24*x*y^2 + 16*x^2*y^2 - (3*x*y^3)/2 - x^2*y^3 + y^6/16]), (-12*x - 8*x^2 + y^3)/(4*Sqrt[(37*x^2)/4 + 12*x^3 + 4*x^4 - 3*x*y - 4*x^2*y + 9*y^2 + 24*x*y^2 + 16*x^2*y^2 - (3*x*y^3)/2 - x^2*y^3 + y^6/16])}
Bước 4
Manipulate[ContourPlot[f[x, y], {x, -2, 2}, {y, -2, 2}, Epilog -> Arrow[{pt, pt + normal@@pt}], PerformanceGoal -> "Quality", Contours -> 20, PlotRange -> {{-2, 2}, {-2, 2}, {-30, 30}}], {{pt, {.01, -.1}}, Locator}, FrameLabel -> "Click a point to see its normal", SaveDefinitions -> True]
Đầu ra
Manipulate[ContourPlot[f[x, y], {x, -2, 2}, {y, -2, 2}, Epilog -> Arrow[{pt, pt + normal @@ pt}], PerformanceGoal -> Quality, Contours -> 20, PlotRange -> {{-2, 2}, {-2, 2}, {-30, 30}}], {{pt, {0.01, -0.1}}, Locator}, FrameLabel -> Click a point to see its normal, SaveDefinitions -> True]

Các hàm được dùng

Công thức liên quan

Tất cả công thức · Tài liệu tham chiếu hàm · Dùng cái này từ một client MCP