1
0
RepozytoriumzprojektemPython/stopy/Ćwiczenia_10uaktualniony.ipynb
2025-01-11 17:49:48 +01:00

577 KiB

Ćwiczenia 10

_TEMAT: całki podwójne

Całka podwójna po prostokącie

Definicja: sumy dolne, sumy górne, całka

Przykład:

Korzystając z definicji obliczymy

[0,1]×[0,1]xydxdy.

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.

  1. 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()
  1. Dla 1in oraz 1jn niech

Pi,j=[i1n,in]×[j1n,jn].

  1. Dla 1in oraz 1jn mamy

inf(x,y)Pi,jf(x,y)=inf(x,y)Pi,jxy=(i1)(j1)n2

oraz

sup(x,y)Pi,jf(x,y)=sup(x,y)Pi,jxy=ijn2

  1. Mamy (korzystając ze wzoru na sumę ciągu arytmetycznego)

L(f,Pn)=ni=1nj=11n2inf(x,y)Pi,jf(x,y)=ni=1nj=1(i1)(j1)n4=(n1)24n2n14

oraz

U(f,Pn)=ni=1nj=11n2sup(x,y)Pi,jf(x,y)=ni=1nj=1ijn4=(n+1)24n2n14.

  1. 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=badcf(x,y),dy,dx=dcbaf(x,y),dx,dy.

Zadanie 1

Obliczymy

[0,1]×[0,1]xydxdy.

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|

Zadanie 2

Obliczymy

[1,4]×[2,3](2x+4y)dxdy.

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|

UWAGA!!!

Czasami wybór kolejności całkowania ma istotne znaczenie!

Zadanie 3

Obliczymy

[1,1]×[0,2]xey2dxdy.

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=2011xey2dxdy=20x2ey22|x=1x=1dy=0.

Zadanie domowe (z wykładu):

  1. Obliczyć 4120(6x2y2x),dy,dx.
  2. Obliczyć 3151lnyxy,dy,dx.
  3. Obliczyć 1021(x+ey),dx,dy.

Zastosowanie

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)zg(x,y)}

wyraża się wzorem

[a,b]×[c,d](g(x,y)(f(x,y))dxdy.

Zadanie 4

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](3xy)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|

Całka podwójna po obszarze

Przypomnienie z wykładu

Niech f będzie funkcją określoną i ograniczoną na obszarze ograniczonym DR2 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)RD. 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

{axbf(x)yg(x),

a obszar normalny względem osi OY to następujący zbiór punktów

{cydf(y)xg(y), gdzie funkcje f oraz g są ciągłe.

Zadanie 5

Czy poniższe zbiory są normalne względem którejś z osi:

  1. Zbiór D to trójkąt o wierzchołkach w punktach (0,0), (1,0), (1,4).
  2. Zbiór D to koło o środku w punkcie (0,0) i promieniu 2.
  3. Zbiór D to zbiór znajdujący się pomiędzy krzywą y=x2 a prostą y=1.
  4. Zbiór D to zbiór znajdujący się pomiędzy krzywą x=y2 a prostą x=1.
  5. Zbiór D to kwadrat o wierzchołkach w punktach (1,0), (1,0), (0,1), (0,1).
Rozwiązanie:
  1. Mamy

D={(x,y):0x1,0y4x}

oraz

D={(x,y):0y4,y4x1}.

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()
  1. Mamy D={(x,y):2x2,4x2y4x2}

oraz

D={(x,y):2y2,4y2x4y2}.

  1. Mamy D={(x,y):1x1,x2y1} oraz D={(x,y):0y1,yxy}.
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()
  1. Mamy D={(x,y):1y1,y2x1} oraz D={(x,y):0x1,xyx}.
  1. Mamy D={(x,y):1x1,|x|1y1|x|} oraz D={(x,y):1y1,|y|1x1|y|}.

Zadanie 6

Podaj przykład zbioru, który nie jest normalny względem żadnej z osi.

Rozwiązanie:

Przykładem takiego zbioru jest:

D={(x,y):1x2+y24}.

Zauważmy, że dzieląc ten zbiór prostą y=0 dostalibyśmy dwa zbiory normalne względem osi OX.

Całka podwójna po zbiorze normalnym

Twierdzenie

_1. Całka po zbiorze normalnym względem osi OX

Niech D={(x,y):axb,f(x)yg(x)}, gdzie funkcje f,g:[a,b]R są ciągłe. Dla dowolnej funkcji ciągłej h:DR mamy

Dh(x,y)dxdy=bag(x)f(x)h(x,y)dydx. _2. Całka po zbiorze normalnym względem osi OY

Niech D={(x,y):cyd,f(y)xg(y)}, gdzie funkcje f,g:[c,d]R są ciągłe. Dla dowolnej funkcji ciągłej h:DR mamy

Dh(x,y)dxdy=dcg(y)f(y)h(x,y)dxdy.

Zadanie 7

Obliczymy

Dydxdy,

gdzie D jest trójkątem o wierzchołkach (0,0), (2,0), (2,4).

Rozwiązanie:
  1. Zbiór D można opisać następująco:

D={(x,y):0x2,0y2x}.

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|

  1. Zbiór D można opisać następująco:

D={(x,y):0y4,y2x2}.

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|

Zadanie 8

Pole koła po raz pierwszy :)

Obliczymy

D1dxdy,

gdzie D jest kołem o środku w punkcie (0,0) i promieniu 1.

Rozwiązanie:

Wiemy już, że D={(x,y):1x1,1x2y1x2}. Zatem

D1dxdy=111x21x2dydx=2111x2dx.

Ponieważ (liczyliśmy to na analizie 1)

1x2dx=arcsin(x)2+x1x22+C, to

D1dxdy=arcsin(x)+x1x2|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.

Rozwiązanie:

Mamy D=D1D2D3, gdzie

D1={(x,y):0x1,0yx},D2={(x,y):1x2,0y1},D3={(x,y):2x3,0y3x}. Ł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.

Zamiana zmiennych w całce podwójnej na współrzędne biegunowe

Niech

D={(rcosα,rsinα):r1rr2,0α1αα22π} i niech f:DR będzie funkcją ciągłą. Wtedy

Df(x,y)dxdy=[r1,r2]×[α1,α2]f(rcosα,rsinα)rdrdα.

Zadanie 10

Pole koła po raz drugi :)

Obliczymy

D1dxdy,

gdzie D jest kołem o środku w punkcie (0,0) i promieniu 1.

Rozwiązanie:

Widać, że

D={(rcosα,rsinα):0r1,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|

Zadanie 11

Obliczymy

Dex2+y2dxdy, gdzie D jest częścią zbioru 1x2+y24 leżącą w drugiej ćwiartce.

Rozwiązanie:

Mamy:

D={(rcosα,rsinα):1r2,π/2απ}. Zatem

Dex2+y2dxdy=[1,2]×[π/2,π]rer2drdα=21ππ/2rer2dαdr=π/221rer2dr=π4er2|r=2r=1=π4(e4e).

Wybrane zastosowania całek podwójnych

Pole

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.

Zadanie 12

Znajdziemy pole zbioru D ograniczonego przez krzywe y=1/x, y=x i y=1/2.

Rozwiązanie:
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/2y1,yx1/y}

Zatem pole zbioru D jest równe

D1dxdy=11/21/yy1dxdy=11/2(1/yy)dy=(lnyy22)|y=1y=1/2=ln11/2ln(1/2)+1/8=ln23/80.318.

Objętość

Jeśli zbiór D jest obszarem regularnym na płaszczyźnie, a funkcje f,g:DR są ciągłe, to objętość bryły

E={(x,y,z):(x,y)D,f(x,y)zg(x,y)} wyraża się wzorem

Dg(x,y)f(x,y)dxdy.

Zadanie 13

Obliczymy objętość bryły E ograniczonej przez płaszczyzny x=0, y=0, z=0 i x+y+z=1.

Rozwiązanie:
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,0z1xy}, gdzie

D={(x,y):0x1,0y1x}. Zatem szukana objętość jest równa

D(1xy)dxdy=101x0(1xy)dydx==16.

Zadanie 14

Obliczymy objętość bryły E, która jest przekrojem kuli x2+y2+z22 i stożka zx2+y2.

Rozwiązanie:
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+y2z2x2y2}, gdzie

D={(x,y):x2+y21}. Zatem szukana objętość jest równa

V=D2x2y2x2+y2dxdy. Aby policzyć tę całkę przejdziemy na współrzędne biegunowe. Mamy V=102π0(r2r2r2)dαdr==43π(21).

Zadanie domowe!!! Wyprowadź wzór na objętość kuli x2+y2+z21.

Pole płata powierzchniowego

Jeśli zbiór D jest obszarem regularnym na płaszczyźnie a funkcja f:DR jest ciągła, to pole płata powierzchniowego S (czyli wykresu funkcji f) wyraża się wzorem

D1+(fx(x,y))2+(fy(x,y))2dxdy.

Zadanie 15

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:DR o wzorze f(x,y)=1x2y2, gdzie D={(x,y):x2+y21}. Zatem szukane pole jest równe 2D1+(fx(x,y))2+(fy(x,y))2dxdy==2D11x2y2dxdy. Przejście na współrzędne biegunowe daje, że szukane pole jest równe 4π.

Środek ciężkości

Jeśli zbiór D jest obszarem regularnym na płaszczyźnie a dodatnia funkcja f:DR jest ciągła, to punkt o współrzędnych

(Dxf(x,y)dxdyDf(x,y)dxdy,Dyf(x,y)dxdyDf(x,y)dxdy)

nazywamy jego środkiem ciężkości.

Zadanie 16

Wyznaczymy środek ciężkości jednorodnego zbioru D ograniczonego przez krzywe y=x2 i y=4.

Rozwiązanie:

Mamy

D={(x,y):2x2,x2y4.} Stąd:

D1dxdy==323, Dxdxdy==0 oraz

Dydxdy==1285.

Zatem środek ciężkości to punkt o współrzędnych

(0,125).