Code
import numpy as np
import matplotlib.pyplot as plt
import sympy as sp
from mpl_toolkits.mplot3d.axes3d import Axes3D
Zeigen Sie, dass die Temperaturfunktion \(T(x,t)= \frac{1}{\sqrt{t}}e^{-\frac{x^2}{4t}}\) die Wärmeleitungsgleichung \(\frac{\partial T}{\partial t}(x,t)= \frac{\partial^2 T}{\partial x^2}(x,t)\) erfüllt.
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.
Die Höhe über Meeresspiegel eines Kraters sei gegeben durch die Funktion \(z(x,y) = \sqrt{x^2 + 4y^2}\) mit \(x, y, z\) in Kilometern. Die Temperatur in Fahrenheit sie gegeben durch \(T(x,y) = 100 + 2x -\frac{1}{4}x^2y^2\).
\(\frac{\partial T}{\partial t}(x,t)\) berechnet sich mittels Produkt- und Kettenregel zu \(e^{-\frac{x^2}{4t}}\left( -\frac{1}{2\sqrt{t^3}} + \frac{x^2}{4\sqrt{t^5}} \right)\). \(\frac{\partial T}{\partial x}(x,t)\) berechnet sich mittels Kettenregel zu \(-\frac{1}{2\sqrt{t^3}}xe^{-\frac{x^2}{4t}}\) und daraus berechnet sich \(\frac{\partial^2 T}{\partial x^2}(x,t)\) mittels Produkt- und Kettenregel zu \(e^{-\frac{x^2}{4t}}\left( -\frac{1}{2\sqrt{t^3}} + \frac{x^2}{4\sqrt{t^5}} \right)\), sodass \(\frac{\partial T}{\partial t}(x,t)= \frac{\partial^2 T}{\partial x^2}(x,t)\) erfüllt ist.
\(\displaystyle \frac{e^{- \frac{x^{2}}{4 t}}}{\sqrt{t}}\)
\(f'(x,y,z) = \begin{pmatrix} \frac{\partial}{\partial x}\cos(x - z) & \frac{\partial}{\partial y}\cos(x - z) & \frac{\partial}{\partial z} \cos(x - z) \\ \frac{\partial}{\partial x}(4z + x y) & \frac{\partial}{\partial y}(4z + x y) & \frac{\partial}{\partial z}(4z + x y) \end{pmatrix} = \begin{pmatrix}-\sin(x-z) & 0 & \sin(x-z) \\ y & x & 4 \end{pmatrix}\)
\(\text{d}z = \frac{\partial z}{\partial x}\text{d}x + \frac{\partial z}{\partial y} \text{d}y = e^{-(3x^2 + y^2)}(-6x) \text{d}x + e^{-(3x^2 + y^2)}(-2y) \text{d}y\), \(\Delta z (1,2) = e^{-(3(1.1)^2 + (1.8)^2)} - e^{-(3(1)^2 + (2)^2)}\), \(\text{d}z (1,2) = e^{-7}(-6) 0.1 + e^{-7}(-4) (-0.2)\). Siehe 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
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
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)