577 KiB
_TEMAT: całki podwójne
UWAGA: Sumy dolne, sumy górne, całkę dolną, całkę górną i całkę po prostokącie definiuje się w identyczny sposób jak odpowiedniki tych pojęć dla przedziału.
- Dzielimy prostokąt [0,1]×[0,1] na n2 mniejszych prostokątów o równych polach w następujący sposób (rysunek dla n=5), podział ten nazywamy podziałem Pn.
import matplotlib.pyplot as plt
import numpy as np
# Define the square grid [0,1] x [0,1] divided into 25 equal squares
n = 5 # 5x5 grid
x = np.linspace(0, 1, n+1)
y = np.linspace(0, 1, n+1)
# Plot the grid
fig, ax = plt.subplots(figsize=(6, 6))
for i in x:
ax.plot([i, i], [0, 1], color="black", linewidth=0.8) # Vertical lines
for j in y:
ax.plot([0, 1], [j, j], color="black", linewidth=0.8) # Horizontal lines
# Set aspect ratio and limits
ax.set_aspect('equal', adjustable='box')
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_title("Square [0,1] x [0,1] Divided into 25 Smaller Squares")
ax.set_xlabel("x-axis")
ax.set_ylabel("y-axis")
plt.grid(False) # Disable the background grid
plt.show()
- Dla 1≤i≤n oraz 1≤j≤n niech
Pi,j=[i−1n,in]×[j−1n,jn].
- Dla 1≤i≤n oraz 1≤j≤n mamy
inf(x,y)∈Pi,jf(x,y)=inf(x,y)∈Pi,jxy=(i−1)(j−1)n2
oraz
sup(x,y)∈Pi,jf(x,y)=sup(x,y)∈Pi,jxy=ijn2
- Mamy (korzystając ze wzoru na sumę ciągu arytmetycznego)
L(f,Pn)=n∑i=1n∑j=11n2⋅inf(x,y)∈Pi,jf(x,y)=n∑i=1n∑j=1(i−1)(j−1)n4=(n−1)24n2n→∞→14
oraz
U(f,Pn)=n∑i=1n∑j=11n2⋅sup(x,y)∈Pi,jf(x,y)=n∑i=1n∑j=1ijn4=(n+1)24n2n→∞→14.
- Rachunki powyżej implikują, że
∬[0,1]×[0,1]xydxdy=14.
Twierdzenie Fubiniego dla prostokąta.
Twierdzenie.
Jeśli f(x,y) jest funkcją ciągłą na prostokącie R=[a,b]×[c,d], to całkę podwójną można obliczyć poprzez całki iterowane:
∬Rf(x,y),dxdy=∫ba∫dcf(x,y),dy,dx=∫dc∫baf(x,y),dx,dy.
Rozwiązanie:
Z twierdzenia Fubiniego wynika, że
$$\iint_{[0,1]\times [0,1]} xydxdy=\int_0^1\int_0^1xydydx= \int_0^1\frac{xy^2}{2}\biggr|_{y=0}^{y=1}dx= \int_0^1 \frac{x}{2}dx=\frac{x^2}{4}\biggr|
Rozwiązanie:
I sposób $$ \iint_{[1,4]\times [2,3]} (2x+4y)dxdy=\int_1^4\int_2^3(2x+4y)dydx= \int_1^4 2xy+2y^2\biggr|_{y=2}^{y=3}dx=\int_1^42x+10dx= x^2+10x\biggr|
II sposób $$ \iint_{[1,4]\times [2,3]} (2x+4y)dxdy=\int_2^3\int_1^4(2x+4y)dxdy= \int_2^3 x^2+4yx\biggr|_{x=1}^{x=4}dy=\int_2^3 15+12y dy= 15y +6y^2\biggr|
Rozwiązanie:
Gdybyśmy najpierw chcieli całkować "po y", to musielibyśmy zmierzyć się z całką ∫ey2dy…. Dlatego robimy tak:
∬[−1,1]×[0,2]xey2dxdy=∫20∫1−1xey2dxdy=∫20x2ey22|x=1x=−1dy=0.
Zadanie domowe (z wykładu):
- Obliczyć ∫41∫20(6x2y−2x),dy,dx.
- Obliczyć ∫31∫51lnyxy,dy,dx.
- Obliczyć ∫10∫21(x+e−y),dx,dy.
Objętość
Niech f oraz g będą funkcjami ciągłymi na prostokącie [a,b]×[c,d] takimi , że
f(x,y)≤g(x,y)dla(x,y)∈[a,b]×[c,d].
Objętość bryły
E={(x,y,z):(x,y)∈[a,b]×[c,d],f(x,y)≤z≤g(x,y)}
wyraża się wzorem
∬[a,b]×[c,d](g(x,y)−(f(x,y))dxdy.
Obliczymy objętość prostopadłościanu [0,1]×[0,1] "ściętego z góry" płaszczyzną x+y+z=3 a z dołu płaszczyzną z=0
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Define the range for x and y
x = np.linspace(0, 1, 30)
y = np.linspace(0, 1, 30)
x, y = np.meshgrid(x, y)
# Define the bounds for z
z_upper = 3 - x - y
z_lower = np.zeros_like(z_upper)
# Create a 3D plot
fig = plt.figure(figsize=(8, 8))
ax = fig.add_subplot(111, projection='3d')
# Plot the surfaces
ax.plot_surface(x, y, z_upper, alpha=0.7, color='blue', edgecolor='k', label="z = 3 - x - y")
ax.plot_surface(x, y, z_lower, alpha=0.3, color='cyan', edgecolor='k', label="z = 0")
# Set labels and limits
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 3)
# Title
ax.set_title('Visualization of the set: x ∈ [0,1], y ∈ [0,1], 0 ≤ z ≤ 3-x-y')
plt.show()
Rozwiązanie:
Musimy obliczyć
∬[0,1]×[0,1](3−x−y)dxdy.
Mamy
$$ \iint_{[0,1]\times [0,1]}(3-x-y)dxdy=\int_0^1\int_0^1(3-x-y)dydx= \int_0^1 3y-xy-\frac{y^2}{2}\biggr|_{y=0}^{y=1}dx= \int_0^1 \frac{5}{2}-xdx=\frac{5}{2}x-\frac{x^2}{2}\biggr|
Przypomnienie z wykładu
Niech f będzie funkcją określoną i ograniczoną na obszarze ograniczonym D⊂R2 oraz niech R będzie dowolnym prostokątem zawierającym obszar D. Ponadto niech funkcja f∗ będzie rozszerzeniem funkcji f z D na R określonym wzorem:
f∗(x,y)={f(x,y)dla(x,y)∈D0;,dla(x,y)∈R∖D. Całkę podwójną funkcji f po obszarze D definiujemy wzorem:
∬Df(x,y);dxdy=∬Rf∗(x,y);dxdy
o ile całka poprawej stronie istnieje. Mówimy wtedy, że funkcja f jest całkowalna na obszarze D.
Zbiory normalne
Obszar normalny względem osi OX to zbiór punktów (x,y) spełniających warunek
{a≤x≤bf(x)≤y≤g(x),
a obszar normalny względem osi OY to następujący zbiór punktów
{c≤y≤df(y)≤x≤g(y), gdzie funkcje f oraz g są ciągłe.
Czy poniższe zbiory są normalne względem którejś z osi:
- Zbiór D to trójkąt o wierzchołkach w punktach (0,0), (1,0), (1,4).
- Zbiór D to koło o środku w punkcie (0,0) i promieniu 2.
- Zbiór D to zbiór znajdujący się pomiędzy krzywą y=x2 a prostą y=1.
- Zbiór D to zbiór znajdujący się pomiędzy krzywą x=y2 a prostą x=1.
- Zbiór D to kwadrat o wierzchołkach w punktach (−1,0), (1,0), (0,−1), (0,1).
- Mamy
D={(x,y):0≤x≤1,0≤y≤4x}
oraz
D={(x,y):0≤y≤4,y4≤x≤1}.
import numpy as np
import matplotlib.pyplot as plt
# Define the range for x
x = np.linspace(0, 1, 100)
# Define the boundary for y
y = 4 * x
# Create the plot
plt.figure(figsize=(8, 6))
plt.fill_between(x, 0, y, color="skyblue", alpha=0.5, label=r"$D = \\{(x,y): 0 \leq x \leq 1, 0 \leq y \leq 4x\\}$")
plt.plot(x, y, color="blue", label=r"$y = 4x$")
# Add labels, title, and legend
plt.xlabel("x")
plt.ylabel("y")
plt.title("Region D: $0 \leq x \leq 1, 0 \leq y \leq 4x$")
plt.legend()
plt.grid(True)
# Show the plot
plt.show()
- Mamy D={(x,y):−2≤x≤2,−√4−x2≤y≤√4−x2}
oraz
D={(x,y):−2≤y≤2,−√4−y2≤x≤√4−y2}.
- Mamy D={(x,y):−1≤x≤1,x2≤y≤1} oraz D={(x,y):0≤y≤1,−√y≤x≤√y}.
import numpy as np
import matplotlib.pyplot as plt
# Define the range for x
x = np.linspace(-1, 1, 100)
# Define the boundary for y
y_upper = np.ones_like(x) # y = 1
y_lower = x**2 # y = x^2
# Create the plot
plt.figure(figsize=(8, 6))
plt.fill_between(x, y_lower, y_upper, color="skyblue", alpha=0.5, label=r"$D = \\{(x,y): -1 \leq x \leq 1, x^2 \leq y \leq 1\\}$")
plt.plot(x, y_upper, color="blue", label=r"$y = 1$")
plt.plot(x, y_lower, color="red", label=r"$y = x^2$")
# Add labels, title, and legend
plt.xlabel("x")
plt.ylabel("y")
plt.title("Region D: $-1 \leq x \leq 1, x^2 \leq y \leq 1$")
plt.legend()
plt.grid(True)
# Show the plot
plt.show()
- Mamy D={(x,y):−1≤y≤1,y2≤x≤1} oraz D={(x,y):0≤x≤1,−√x≤y≤√x}.
- Mamy D={(x,y):−1≤x≤1,|x|−1≤y≤1−|x|} oraz D={(x,y):−1≤y≤1,|y|−1≤x≤1−|y|}.
Podaj przykład zbioru, który nie jest normalny względem żadnej z osi.
Rozwiązanie:
Przykładem takiego zbioru jest:
D={(x,y):1≤x2+y2≤4}.
Zauważmy, że dzieląc ten zbiór prostą y=0 dostalibyśmy dwa zbiory normalne względem osi OX.
Twierdzenie
_1. Całka po zbiorze normalnym względem osi OX
Niech D={(x,y):a≤x≤b,f(x)≤y≤g(x)}, gdzie funkcje f,g:[a,b]→R są ciągłe. Dla dowolnej funkcji ciągłej h:D→R mamy
∬Dh(x,y)dxdy=∫ba∫g(x)f(x)h(x,y)dydx. _2. Całka po zbiorze normalnym względem osi OY
Niech D={(x,y):c≤y≤d,f(y)≤x≤g(y)}, gdzie funkcje f,g:[c,d]→R są ciągłe. Dla dowolnej funkcji ciągłej h:D→R mamy
∬Dh(x,y)dxdy=∫dc∫g(y)f(y)h(x,y)dxdy.
- Zbiór D można opisać następująco:
D={(x,y):0≤x≤2,0≤y≤2x}.
Zatem
$$ \iint_Dydxdy=\int_0^2\int_0^{2x}ydydx=\int_0^2\frac{y^2}{2}\biggr|_{y=0}^{y=2x}dx= \int_0^22x^2dx=\frac{2}{3}x^3\biggr|
- Zbiór D można opisać następująco:
D={(x,y):0≤y≤4,y2≤x≤2}.
Zatem
$$ \iint_Dydxdy=\int_0^4\int_{y/2}^2ydxdy=\int_0^4yx\biggr|_{x=y/2}^{x=2}dy= \int_0^42y-\frac{y^2}{2}dy=y^2-\frac{1}{6}y^3\biggr|
Obliczymy
∬D1dxdy,
gdzie D jest kołem o środku w punkcie (0,0) i promieniu 1.
Rozwiązanie:
Wiemy już, że D={(x,y):−1≤x≤1,−√1−x2≤y≤√1−x2}. Zatem
∬D1dxdy=∫1−1∫√1−x2−√1−x2dydx=2∫1−1√1−x2dx.
Ponieważ (liczyliśmy to na analizie 1)
∫√1−x2dx=arcsin(x)2+x√1−x22+C, to
∬D1dxdy=arcsin(x)+x√1−x2|x=1x=−1=π.
Obszar regularny na płaszczyźnie i całka po takim zbiorze
Sumę skończonej liczby obszarów normalnych (względem osi OX lub OY) o parami rozłącznych wnętrzach nazywamy obszarem regularnym na płaszczyźnie.
Twierdzenie
Niech obszar regularny D będzie sumą obszarów normalnych D1,D2,⋯,Dn o parami rozłącznych wnętrzach oraz niech funkcja f będzie całkowalna na tym obszarze. Wtedy
∬Df(x,y);dx;dy=∬D1f(x,y);dx;dy+∬D2f(x,y);dx;dy+⋯+∬Dnf(x,y);dx;dy.
UWAGA: Dla dowolnego obszaru regularnego
∬D1;dx;dy to pole zbioru D.
Zadanie 9
Obliczymy ∬D1;dx;dy, gdzie D jest trapezem o wierzchołkach w punktach (0,0), (1,1), (2,1) i (3,0).
UWAGA: to jaki jest wynik jest jasne, chodzi nam o ilustrację idei bez żmudnych rachunków.
Mamy D=D1∪D2∪D3, gdzie
D1={(x,y):0≤x≤1,0≤y≤x},D2={(x,y):1≤x≤2,0≤y≤1},D3={(x,y):2≤x≤3,0≤y≤3−x}. Łatwe rachunki dają, że ∬D11dxdy=12,∬D21dxdy=1,∬D31dxdy=12. Zatem ∬D1;dx;dy=2.
Współrzędne biegunowe
Przypomnijmy, że każdy punkt (x,y) na płaszcźnie można przedstawić w postaci
(rcosα,rsinα), gdzie r jest odległością punktu (x,y) od początku układu współrzędnych a α jest kątem pomiędzy odcinkiem łączącym punkt (x,y) z punktem (0,0) a dodatnią częścią osi OX.
Niech
D={(rcosα,rsinα):r1≤r≤r2,0≤α1≤α≤α2≤2π} i niech f:D→R będzie funkcją ciągłą. Wtedy
∬Df(x,y)dxdy=∬[r1,r2]×[α1,α2]f(rcosα,rsinα)rdrdα.
Obliczymy
∬D1dxdy,
gdzie D jest kołem o środku w punkcie (0,0) i promieniu 1.
Rozwiązanie:
Widać, że
D={(rcosα,rsinα):0≤r≤1,0≤α≤2π}.
Zatem
$$ \iint_Ddxdy=\int_0^1\int_0^{2\pi}rd\alpha dr=\int_0^12r\alpha\biggr|_{\alpha=0}^{\alpha=2\pi}dr= \int_0^12\pi rdr=\pi r^2\biggr|
Mamy:
D={(rcosα,rsinα):1≤r≤2,π/2≤α≤π}. Zatem
∬Dex2+y2dxdy=∬[1,2]×[π/2,π]rer2drdα=∫21∫ππ/2rer2dαdr=π/2∫21rer2dr=π4er2|r=2r=1=π4(e4−e).
Jeśli zbiór D jest obszarem regularnym na płaszczyźnie, to
∬D1dxdy
jest równa polu zbioru D.
Uwaga: nikt nigdy nam nie wyjaśnił co to jest pole - pojęcie to wydaje się nam intuicyjnie jasne, okazuje się że definicja wymaga sporo pracy. Tak naprawdę ∬D1dxdy jest definicją pola.
import numpy as np
import matplotlib.pyplot as plt
# Define the functions
x = np.linspace(0.2, 2.5, 500) # x-range
y1 = 1 / x # y = 1/x
y2 = x # y = x
y3 = 0.5 # y = 1/2 (constant)
# Create the plot
plt.figure(figsize=(8, 6))
# Plot the curves
plt.plot(x, y1, label=r"$y=\frac{1}{x}$", color="blue", linewidth=2)
plt.plot(x, y2, label=r"$y=x$", color="red", linewidth=2)
plt.axhline(y=y3, color="green", linestyle="--", label=r"$y=\frac{1}{2}$", linewidth=2)
# Add labels, legend, and grid
plt.xlabel("$x$", fontsize=14)
plt.ylabel("$y$", fontsize=14)
plt.title("Region Bounded by $y=\\\\frac{1}{x}$, $y=x$, and $y=\\\\frac{1}{2}$", fontsize=16)
plt.grid(True)
# Set axis limits
plt.xlim(0.4, 2.5)
plt.ylim(0, 2)
# Show the plot
plt.show()
Widzimy, że
D={(x,y):1/2≤y≤1,y≤x≤1/y}
Zatem pole zbioru D jest równe
∬D1dxdy=∫11/2∫1/yy1dxdy=∫11/2(1/y−y)dy=(lny−y22)|y=1y=1/2=ln1−1/2−ln(1/2)+1/8=ln2−3/8≈0.318.
Jeśli zbiór D jest obszarem regularnym na płaszczyźnie, a funkcje f,g:D→R są ciągłe, to objętość bryły
E={(x,y,z):(x,y)∈D,f(x,y)≤z≤g(x,y)} wyraża się wzorem
∬Dg(x,y)−f(x,y)dxdy.
import IPython.display as display
from IPython.display import IFrame
IFrame('https://www.geogebra.org/calculator/ke2e5ewa', width=800, height=600, style="border: 1px solid black")
Widzimy, że
E={(x,y,z):(x,y)∈D,0≤z≤1−x−y}, gdzie
D={(x,y):0≤x≤1,0≤y≤1−x}. Zatem szukana objętość jest równa
∬D(1−x−y)dxdy=∫10∫1−x0(1−x−y)dydx=…=16.
import IPython.display as display
from IPython.display import IFrame
IFrame('https://www.geogebra.org/calculator/depsgzqy', width=800, height=600, style="border: 1px solid black")
Widzimy, że
E={(x,y,z):(x,y)∈D,√x2+y2≤z≤√2−x2−y2}, gdzie
D={(x,y):x2+y2≤1}. Zatem szukana objętość jest równa
V=∬D√2−x2−y2−√x2+y2dxdy. Aby policzyć tę całkę przejdziemy na współrzędne biegunowe. Mamy V=∫10∫2π0(r√2−r2−r2)dαdr=…=43π(√2−1).
Zadanie domowe!!! Wyprowadź wzór na objętość kuli x2+y2+z2≤1.
Jeśli zbiór D jest obszarem regularnym na płaszczyźnie a funkcja f:D→R jest ciągła, to pole płata powierzchniowego S (czyli wykresu funkcji f) wyraża się wzorem
∬D√1+(∂f∂x(x,y))2+(∂f∂y(x,y))2dxdy.
Obliczymy pole powierzchni sfery o promieniu 1.
Rozwiązanie:
Wystarczy policzyć pole powierzchni górnej półsfery i pomnożyć otrzymany wynik przez 2. Górna półsfera to wykres funkcji f:D→R o wzorze f(x,y)=√1−x2−y2, gdzie D={(x,y):x2+y2≤1}. Zatem szukane pole jest równe 2∬D√1+(∂f∂x(x,y))2+(∂f∂y(x,y))2dxdy=…=2∬D1√1−x2−y2dxdy. Przejście na współrzędne biegunowe daje, że szukane pole jest równe 4π.
Jeśli zbiór D jest obszarem regularnym na płaszczyźnie a dodatnia funkcja f:D→R jest ciągła, to punkt o współrzędnych
(∬Dxf(x,y)dxdy∬Df(x,y)dxdy,∬Dyf(x,y)dxdy∬Df(x,y)dxdy)
nazywamy jego środkiem ciężkości.
Zatem środek ciężkości to punkt o współrzędnych
(0,125).