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

Extremalprobleme

1. Beispiel

f =  (1/(9 + (x^2) + (y^2)))

Plot3D[f, {x, -5, 5}, {y, -5, 5}]

ableitung = Grad[f, {x, y}]

stationäre Punkte

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

Mögliche Extremalwerte

f /. stationär

Test auf Sattelpunkt

HinreichendeBedingung[f_, {x_, y_}, x0_] := 
      Module[{testausdruck}, 
testausdruck = 
          D[f, {x, 2}] D[f, {y, 2}] - 
            D[D[f, x], y]^2; 
If[(testausdruck /. x0) < 
            0, Return[{{x, y} /. 
                x0, "Sattelpunkt"}]]; 
testausdruck = 
          D[f, {x, 2}]; 
If[(testausdruck /. x0) < 0, 
          Return[{{x, y} /. x0, "Maximum"}], 
          Return[{{x, y} /. 
                x0, "Minimum"}]]
]

Map[HinreichendeBedingung[f, {x, y}, #] &, 
      stationär]

2. Beispiel

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

Plot3D[f, {x, -5, 5}, {y, -5, 5}]

ableitung = Grad[f, {x, y}]

stationäre Punkte

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

Mögliche Extremalwerte

f /. stationär

N[%]

Test auf Sattelpunkt

Map[HinreichendeBedingung[f, {x, y}, #] &, 
      stationär]

2. Beispiel

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

Plot3D[f, {x, -5, 5}, {y, -5, 5}]

ableitung = Grad[f, {x, y}]

stationäre Punkte

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

reelle stationäre Punkte

stationär = 
      Select[stationär, FreeQ[#, Complex] &]

Mögliche Extremalwerte

f /. stationär

N[%]

Test auf Sattelpunkt

Map[HinreichendeBedingung[f, {x, y}, #] &, 
      stationär]

4. Beispiel

f = (((x + y))^2) + Sin[x y]

Plot3D[f, {x, -5, 5}, {y, -5, 5}]

ableitung = Grad[f, {x, y}]

stationäre Punkte

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

reelle stationäre Punkte

stationär = 
      Select[stationär, FreeQ[#, Complex] &]

Mögliche Extremalwerte

f /. stationär

N[%]

Test auf Sattelpunkt

Map[HinreichendeBedingung[f, {x, y}, #] &, 
      stationär]

5. Beispiel: 3 Variablen

f = (3/(E^((((x + y + z))^2)))) - 12 x y

ableitung = Grad[f, {x, y, z}]

stationäre Punkte

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

Mögliche Extremalwerte

f /. stationär

Test auf Sattelpunkt

Hessematrix[f_, x_] := 
      Table[D[D[f, x[[j]]], x[[k]]], {j, Length[x]}, {k, 
          Length[x]}]

Hessematrix[f, {x, y, z}]

A = (Hessematrix[f, {x, y, z}] /. 
          stationär[[1]])

eigenwerte = Eigenvalues[A]

N[eigenwerte]