Skocz do zawartości

  •  
  • Mini kompendium
  • MimeTeX
  • Regulamin

- zdjęcie

Raidou

Rejestracja: 30 Sep 2017
Offline Ostatnio: Nov 10 2017 10:34
-----

#129645 Całkowanie numeryczne

Napisane przez janusz w 10.10.2017 - 18:05

Zostałem wywołany do tablicy  przez Pana.

 

Na podstawie wzoru Newtona-Leibniza, otrzymujemy wartość dokładną całki:

 

 I = \int_{0}^{3} x^3 dx = \frac{1}{4}x^4 \left |_{0}^{3} = \frac{1}{4} \cdot \left( 3^4 -3^0) = \frac{1}{4}\cdot 81 = 20,25.

 

Mając   dokładną wartość całki, chcemy tę wartość potwierdzać  metodami przybliżonymi w postaci  kwadratur (zadanie według mnie  sztuczne, aczkolwiek mające na celu poznanie podstawowych  metod numerycznego całkowania i  dokładności tych metod) .

 

Kwadratury Newtona-Cotesa 

 

Kwadratury Newtona-Cotesa są to kwadratury  oparte na węzłach wielomianu interpolacyjnego Lagrange'a  p_{n}.

 

 \int_{a}^{b} f(x)dx = \sum_{k=0}^{n} w_{k}\cdot f(a + k\cdot h),

 

gdzie:

 

 h = \frac{b - a}{n}, \ \ w_{k} = \int_{a}^{b} L_{k}(x)dx , \ \ L_{k}(x) = \prod_{i=0, i \neq k}^{n} \frac{x -x_{i}}{x_{k} -x{i}}.

 

Dla  n=1 i  x_{0} = a, \ \ x_{1} = b,   otrzymujemy wielomian interpolacyjny Lagrange'a pierwszego stopnia 

 

 p_{1}(x) = L_{0}(x)\cdot f(a) + L_{1}(x)\cdot f(b) = \frac{x-b}{a-b} f(a) + \frac{x-a}{b-a}f(b) = \frac{1}{b-a}[ (b-x)f(a)+(x-a)f(b)].

 

Całkując  p_{1}(x) w granicach od  a do  b ,  otrzymujemy kwadraturę Newtona-Cotesa rzędu pierwszego:

 

 T_{1}(a,b, f)) = \int_{a}^{b}\frac{1}{b-a} [(b-x)f(a)+ (x - a)f(b)]dx = \frac{1}{b-a} \left [-\frac{(b-x)^2}{2}f(a) + \frac{(x-a)^2}{2}f(b) \right |_{a}^{b} = \frac{1}{b-a} \left [\frac{(b-a)^2}{2} f(b) + \frac{(b-a)^2}{2} f(a) \right] = \frac{b-a}{2} \left [ f(a) + f(b) \right ].   

 

Jest to tzw. wzór  trapezu.

 

Podstawiając  a = 0, \ \ b =3, \ \ f(0) = 0^3 =0, \ \ f(3) = 3^3 = 27,

 

otrzymamy:

 

 T(0, 3, x^3) = \frac{3 - 0}{2} \left ( 0 + 27) = \frac{81}{2} = 40,50.

 

Jak widzimy ta kwadratura nie nadaje się do aproksymacji wartości całki  I, bo błąd względny przybliżenia wynosi:

 

 \frac{| 20,25 - 40,5|}{20,25} \cdot 100\% = 100\%.

 

Można zwiększyć dokładność obliczenia tej całki  - stosując złożoną  kwadraturę trapezów,  którą wyprowadzamy podobnie, uwzględniając wielomian interpolacyjny Lagrange'a stopnia  n.

 

 \int_{a}^{b} f(x) dx = h \cdot \left[ \frac{1}{2}f(a) +f(x_{1}) + ...+ f(x_{n-1})+ \frac{1}{2}f(x_{n} \right] . 

 

Błąd tej kwadratury wynosi:

 

 \epsilon ( h) =- \frac{(b-a)\cdot h^2}{12}\cdot f^{''}(\xi), \ \ \xi \in (a, b). 

 

 

W naszym przypadku  na przykład dla  n =10 węzłów 

 

i  programu Maple 6

 

> with(student);

 

> trapezoid( x^3, x =0 . . 3, 10);

 

>evalf(\%);

 

> 20,4525

 

 Błąd tego przybliżenia wynosi   -0,20250.

 

 

Kwadratura prostokątów

 

Kwadratura prostokątów należy do najprostszych  kwadratur Gaussa-Legendre'a.

 

Kwadratury Gaussa   są to kwadratury  oparte na  n+1 węzłach, które  są pierwiastkami wielomianów ortogonalnych w przedziale  [a, b]. z wagą  w.

 

Nie wchodząc w teorię wielomianów ortogonalnych Legendre'a i teorię tych kwadratur -  postać tej kwadratury:

 

 \int_{a}^{b} f(x) dx = h \sum_{j=1}^{n} f \left ( a + \left (j - \frac{1}{2} \right)\right).

 

W naszym przypadku dla  h = \frac{3 -0}{3} = 1. ( trzech węzłów)

 

 \int_{0}^{3} x^3 dx = 1\cdot \sum_{j=1}^{3} \left ( 0 + \left(j -\frac{1}{2}\right)\cdot 1\right)^3

 

Do obliczenia wartości całki wykorzystamy prosty program napisany  w Octave 4.2.1

 

  function  c = prostokw( f, a, b, N )

 

  h = (b-a)/N ;

   

  x = ( a + h/2 : h : b)

 

  y = f(x);

 

 c = h*sum(y);

 

 endfunction

 

prostokw(x^3, 0,3, 3)

 

>> answ = 19.125

 

Błąd  względny  przybliżenia wynosi  0,05. 

 

Stąd wynika, że kwadratury Gaussa:

 

-mają dużo  wyższą dokładność od kwadratur Newtona-Cotesa,

 

- są dokładne  dla wielomianów stopnia  2n +1 , podczas  gdy kwadratury Newtona-Cotesa są dokładne tylko dla wielomianów stopnia  n.

 

- możemy  ich używać do numerycznego obliczania  całek z osobliwościami, z którymi spotykamy się często na przykład w fizyce.

 

 

Są jeszcze  inne   kwadratury na przykład kwadratury:  Romberga, Radau, Lobato,  z którymi warto  zapoznać się, studiując przedmiot  Metody  Numeryczne.

 

Z kwadraturami Romberga - bardzo szybko zbieżnymi , opartymi na ekstrapolacyjnym schemacie Neville'a - Richardsona i błędami wynikającymi z ich stosowania  może się Pan  zapoznać między innymi  w  pracy,  którą  miałem przyjemność napisać z  Profesorem  Andrzejem Kiełbasińskim  na Uniwersytecie Warszawskim  w roku 1985.

 

Andrzej Kiełbasiński, Janusz Chojnacki. Błędy zaokrągleń w algorytmie Romberga. Wydawnictwa Uniwersytetu Warszawskiego 1985.

 

 

 

  

  

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 


  • 1


#129644 Wpływ błędu względnego danych wejściowych

Napisane przez Jarekzulus w 09.10.2017 - 22:18

Podstawą logarytmu naturalnego (zwyczajowo oznaczanego ln) jest liczba e zatem odpowiadając na pytanie - zapewne TAK - podstawą jest e


  • 1


#129639 Wpływ błędu względnego danych wejściowych

Napisane przez Jarekzulus w 08.10.2017 - 18:08

Co to za zapis?

 

y = (x_1)^2 \cdot ln(x_2)

 

Taki miał być?


  • 1


#129629 Aproksymacja średniokwadratowa funkcji sinx

Napisane przez janusz w 05.10.2017 - 16:46

 A - amplituda sygnału.

 

 H(A) = (A\cdot 0 -0)^2 + \left(\frac{A\sqrt{2}}{2} - 1\right)^2 + (A - 2)^2 +\left(\frac{A\sqrt{2}}{2} - 1\right)^2 + (A\cdot 0 - 0)^2

 

 H'(A) = 2( A\cdot 0 - 0)\cdot 0 + 2 \left(\frac{A\sqrt{2}}{2} - 1 \right)\cdot \frac{\sqrt{2}}{2} + 2(A-2) \cdot 1 +2 \left(\frac{A\sqrt{2}}{2} - 1\right)\cdot \frac{\sqrt{2}}{2} +2( A\cdot 0 - 0)\cdot 0 .

 

 H'(A) =0

 

 A -\sqrt{2} +2A - 4 + A - \sqrt{2} =0

 

 4A = 2\sqrt{2}

 

 A^{*} = \frac{\sqrt{2}}{2}.

 

 H(A^{*}) = H^{*} = H_{min.lok.}

 


  • 1