Übung - Mehrdimensionale Differentialrechnung

Übung - Mehrdimensionale Differentialrechnung

Code
import numpy as np
import matplotlib.pyplot as plt
import sympy as sp
from mpl_toolkits.mplot3d.axes3d import Axes3D

Aufgaben

Aufgabe MD1: Wärmeleitungsgleichung

Zeigen Sie, dass die Temperaturfunktion T(x,t)=1tex24t die Wärmeleitungsgleichung Tt(x,t)=2Tx2(x,t) erfüllt.

Aufgabe MD2: Ableitung, Differential und lineare Approximation

  1. Berechnen Sie die Jacobimatrix f(x,y,z) der Funktion f:R3R2:f(x,y,z)=(cos(xz)4z+xy).
  2. Berechnen Sie das Differential der Funktion f:R2R:z(x,y)=e(3x2+y2) allgemein und im Speziellen bei (x0,y0)=(1,2). Wie groß ist der Unterschied zwischen der linearen Approximation der Funktionswertdifferenz dz und der wahren Funktionswertdifferenz Δz bei (x0,y0), wenn dx=0.1 und dy=0.2?

Aufgabe MD3: Partielle Ableitungen

  1. Ideales Gas: Das Volumen V einer bestimmten Menge eines idealen Gases ist durch die Temperatur T und den Druck p über die Formel V=0.08Tp gegeben. Berechnen und interpretieren Sie Vp und VT bei p=20 und T=300.
  2. Öffentlicher Personennahverkehr: In einer Vorstadt haben Pendler die Möglichkeit mit dem Bus oder mit dem Zug in das Stadtzentrum zu kommen. Die Nachfrage nach diesen Verkehrsarten variiert mit ihrer Kosten. Sei B(b,z) die Anzahl der Menschen, die mit dem Bus fahren wird, wenn b der Preis für den Bus und z der Preis der Zug sind. Zum Beispiel: Bei B(4,6)=7000 nehmen 7000 Pendler den Bus, wenn der Preis den Bus 4 ist und der Preis für den Zug 6 ist. Erklären Sie, warum Bb<0 und Bz>0 gelten.

Aufgabe MD4: Wärmeverlustfunktion - Teil 1

Ein rechteckiges Industriegebäude habe die Länge x, die Breite y und die Höhe z. In der Tabelle ist der Wärmeverlust pro Tag durch jede Seite des Gebäudes in geeigneten Energieeinheiten pro Quadratmeter Seitenfläche angegeben.

Dach Ostseite Westseite Nordseite Südseite Boden
10 8 6 10 5 1

Der gesamte tägliche Wärmeverlust des Gebäudes sei mit Sei Q(x,y,z) bezeichnet.

  1. Finden Sie eine Formel für Q(x,y,z).
  2. Geben Sie den gesamten täglichen Wärmeverlust an, wenn das Gebäude 30 Meter lang, 12 Meter breit und 9 Meter hoch ist.
  3. Berechnen und interpretieren Sie Qx(30,12,9), Qy(30,12,9) und Qz(30,12,9).

Aufgabe MD5: Differential

Die Höhe über Meeresspiegel eines Kraters sei gegeben durch die Funktion z(x,y)=x2+4y2 mit x,y,z in Kilometern. Die Temperatur in Fahrenheit sie gegeben durch T(x,y)=100+2x14x2y2.

  1. Berechnen Sie dz und dT allgemein und speziell am Punkt p=(3,2).
  2. Berechnen Sie die Gleichung der Tangentialebene an den Krater im Punkt p.
  3. In welche Richtung steigt die Temperatur am Punkt p am stärksten an?
  4. Wie stark ändert sich am Punkt p die Temperatur pro Höhe, wenn man in die Richtung von Aufgabe 3 geht?

Lösungen

Lösung MD1: Wärmeleitungsgleichung

Tt(x,t) berechnet sich mittels Produkt- und Kettenregel zu ex24t(12t3+x24t5). Tx(x,t) berechnet sich mittels Kettenregel zu 12t3xex24t und daraus berechnet sich 2Tx2(x,t) mittels Produkt- und Kettenregel zu ex24t(12t3+x24t5), sodass Tt(x,t)=2Tx2(x,t) erfüllt ist.

Code
# using sympy:
sp.init_printing() 
Code
x, t = sp.symbols('x t')
T = 1/sp.sqrt(t)*sp.exp(-x**2/(4*t))
T

ex24tt

Code
sp.simplify( sp.diff(T, t) - sp.diff(T, x, 2) )

0

Code
sp.init_printing(False)

Lösung MD2: Ableitung, Differential und lineare Approximation

  1. f(x,y,z)=(xcos(xz)ycos(xz)zcos(xz)x(4z+xy)y(4z+xy)z(4z+xy))=(sin(xz)0sin(xz)yx4)

  2. dz=zxdx+zydy=e(3x2+y2)(6x)dx+e(3x2+y2)(2y)dy, Δz(1,2)=e(3(1.1)2+(1.8)2)e(3(1)2+(2)2), dz(1,2)=e7(6)0.1+e7(4)(0.2). Siehe Code:

Code
def z(x, y):
    return np.exp(-(3*x**2 + y**2))

def dz(x_0, y_0, dx, dy): 
    return -np.exp(-(3*x_0**2 + y_0**2))*6*x_0*dx - np.exp(-(3*x_0**2 + y_0**2))*2*y_0*dy

x_0 =  1
y_0 =  2
dx  =  0.1
dy  = -0.2

print("wahre Differenz =\n {:.10f}".format( z(x_0 + dx, y_0 + dy) - z(x_0, y_0) ))
print("linear approximierte Differenz =\n {:.10f}".format( dz(x_0, y_0, dx, dy) ) )
wahre Differenz =
 0.0001265951
linear approximierte Differenz =
 0.0001823764

Lösung MD3: Partielle Ableitungen

  1. Vp(p,T)=0.08Tp2 und VT(p,T)=0.081p. Daher ist Vp(20,300)=0,06 (Volumen wird kleiner bei steigendem Druck und gleichbleibender Temperatur) und VT(20,300)=0,004 (Volumen wird größer bei steigender Temperatur und gleichbleibendem Druck)
  2. Bb<0 weil steigende Buspreise bei gleichbleibenden Zugpreisen zu weiniger Verwendern der Busse führen, und Bz>0 weil umgekehrt steigende Zugpreise bei gleichbleibenden Buspreisen zu mehr Verwendern der Busse führen.

Lösung MD4: Wärmeverlustfunktion - Teil 1

  1. Q(x,y,z)=10xy+8yz+6yz+10xz+5xz+1xy=11xy+14yz+15xz
  2. Q(30,12,9), siehe Code
  3. Siehe Code
Code
def Q(x,y,z):
    return 11*x*y + 14*y*z + 15*x*z

def Q_x(x,y,z):
    return 11*y + 15*z

def Q_y(x,y,z):
    return 11*x + 14*z

def Q_z(x,y,z):
    return 14*y + 15*x

x_0 = 30
y_0 = 12
z_0 =  9

print("gesamter täglicher Wärmeverlust        = {:8.2f}".format(Q(x_0, y_0, z_0)))
print("Wärmeverlust pro Meter Längenänderung  = {:8.2f}".format(Q_x(x_0, y_0, z_0)))
print("Wärmeverlust pro Meter Breitenänderung = {:8.2f}".format(Q_y(x_0, y_0, z_0)))
print("Wärmeverlust pro Meter Höhennänderung  = {:8.2f}".format(Q_z(x_0, y_0, z_0)))
gesamter täglicher Wärmeverlust        =  9522.00
Wärmeverlust pro Meter Längenänderung  =   267.00
Wärmeverlust pro Meter Breitenänderung =   456.00
Wärmeverlust pro Meter Höhennänderung  =   618.00

Lösung MD5: Differential

  1. dz=xx2+4y2dx+4yx2+4y2dy, bei p gilt dz=0.6dx+1.6dy. dT=(20.5xy2)dx0.5x2ydy, bei p gilt dT=4dx9dy.
  2. zz(3,2)=0.6(x3)+1.6(y2) liefert 5z=3x+8y
  3. v=grad(T)(p)=(4,9)T, vgl. bei p gilt dT=4dx9dy.
  4. Bei p ist dT(v)dz(v)=4(4)9(9)0.6(4)+1.6(9)=5.77 F/km
Code
x = np.linspace(-4, 4, 100)
y = np.linspace(-4, 4, 100)
X, Y = np.meshgrid(x, y)

Z = np.sqrt(X**2 + 4*Y**2)
T = 100 + 2*X  - 0.25*X**2*Y**2

fig = plt.figure(figsize=(12,12),dpi=100)
ax  = fig.add_subplot(2, 2, 1, projection='3d')
p   = ax.plot_surface(X, Y, Z, rstride=4, cstride=4, linewidth=0, cmap='PuOr')
ax.view_init(azim = -60,elev = 30)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_title('Höhe')

ax2 = fig.add_subplot(2, 2, 3)
CS = ax2.contour(X,Y,Z, 20)
ax2.clabel(CS, inline=1, fontsize=12)
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('Höhe')
ax2.grid(True)

ax3  = fig.add_subplot(2, 2, 2, projection='3d')
p   = ax3.plot_surface(X, Y, T, rstride=4, cstride=4, linewidth=0, cmap='coolwarm')
ax3.view_init(azim = -60,elev = 30)
ax3.set_xlabel('x')
ax3.set_ylabel('y')
ax3.set_title('Temperatur')

ax4 = fig.add_subplot(2, 2, 4)
CS = ax4.contour(X, Y, T, 20)
ax4.clabel(CS, inline=1, fontsize=12)
ax4.set_xlabel('x')
ax4.set_ylabel('y')
ax4.set_title('Temperatur')
ax4.grid(True)