Grad[f_, x_] := 
      Transpose[{Table[D[f, x[[k]]], {k, Length[x]}]}]

Extremalprobleme mit Nebenbedingungen: Die Lagrange-Methode

1. Beispiel

f = x (y^2)

g = ((x^2)/3) + ((y^2)/4) - 1

Needs["Graphics`ImplicitPlot`"]

ImplicitPlot[g == 0, {x, -5, 5}, {y, -5, 5}]

L = f + λ g

ableitung = Grad[L, {x, y, λ}]

stationär = 
      Solve[ableitung == 0, {x, y, λ}]

alternativ = 
      Solve[Eliminate[ableitung == 0, λ], {x, y}]

f /. stationär

2. Beispiel

Welche Punkte der Hyperbel (x^2) + (3/2) x y - (y^2) = 1 haben den größten bzw. kleinsten Abstand vom Koordinatenursprung?

f = (x^2) +  (y^2)

g = (x^2) + (3/2) x y - (y^2) - 1

plot1 = 
      ImplicitPlot[g == 0, {x, -3, 3}, {y, -3, 3}]

L = f + λ g

ableitung = Grad[L, {x, y, λ}]

stationär = 
      Solve[ableitung == 0, {x, y, λ}]

f /. stationär

plot2 = 
      Table[Graphics[{RGBColor[1, 0, 0], 
            Line[{{0, 0}, {x, y}} /. stationär[[k]]]}], {k, 
          2}]

Show[plot1, plot2]

3. Beispiel

Welche Punkte der Ellipse (x^2) + x y + (y^2) = 1 haben den größten bzw. kleinsten Abstand vom Koordinatenursprung?

f = (x^2) +  (y^2)

g = (x^2) + x y + (y^2) - 1

plot1 = 
      ImplicitPlot[g == 0, {x, -3, 3}, {y, -3, 3}]

L = f + λ g

ableitung = Grad[L, {x, y, λ}]

stationär = 
      Solve[ableitung == 0, {x, y, λ}]

f /. stationär

plot2 = 
      Table[Graphics[{RGBColor[1, 0, 0], 
            Line[{{0, 0}, {x, y}} /. stationär[[k]]]}], {k, 
          4}]

Show[plot1, plot2]

4. Beispiel

f = (x^2) +  3  (y^2) + 2  (z^2)

g = x + 3  y - 30

h = y + 2  z - 20

L = f + λ g + μ h

ableitung = Grad[L, {x, y, z, λ, μ}]

stationär = 
      Solve[ableitung == 0, {x, y, z, λ, μ}]

f /. stationär

5. Beispiel

f = (x^2) +  (y^2) + (z^2) + x y + 2  x z + 3  y z

g = x + y + z - 1000

h = x + y - 2  z

L = f + λ g + μ h

ableitung = Grad[L, {x, y, z, λ, μ}]

stationär = 
      Solve[ableitung == 0, {x, y, z, λ, μ}]

f /. stationär