eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPocedura całkowaniaRe: Pocedura całkowania
  • Data: 2009-07-07 13:23:05
    Temat: Re: Pocedura całkowania
    Od: "slawek" <s...@h...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]



    Użytkownik "bartekltg" <b...@g...com> napisał w wiadomości grup
    dyskusyjnych:98a4aeba-51da-4e56-8f7f-edbf2e3788bf@c1
    g2000yqi.googlegroups.com...
    > a splajny w normie L_2. Stad jeszcze nic o wlasnosciach kwadratur nie
    > wynika.

    Zgoda. Ale całki te nie są ważne same w sobie - lecz jako funkcjonały
    określone na funkcjach. Jeżeli biorę funkcje gładkosklejane to te funkcje
    znacznie lepiej modelują przebieg funkcji jakie występują w modelu
    matematycznym danego zjawiska przyrodniczego. Mając potem takie spline'y
    mogę nie bać się liczyć pochodnych itd. itp.

    > Tutaj masz juz wykonane dwa pierwsze kroki. Masz dane. Uzywamy
    > kwadratury
    > parabol czy jakiesj innej i z glowy. sumujemy z odpowiednimi
    > wspolczynnikami
    > wartosci w tabelce. To wszystko.

    Teoretycznie tak. W praktyce - weź sobie metodę która łyka na raz 23 węzły
    (dlaczego tyle? nieważne, to tylko przykład). Podziel sobie 10000 punktów w
    następujące sposoby:
    23+23+..., 1+23+23+..., 2+23+23+...,...,22+23+23+... (oczywiście, dla
    punktów na początku i na końcu jakoś trzeba dać sobie radę - ale tego będzie
    mniej więcej 50 punktów na 10000 czyli 0.5%). Uśrednij te wszystkie wyniki.
    Co ci wyjdzie? Surprise, surprise - wzór trapezów (z małymi zwichrowaniami
    na końcach, ale to 0.5% przypadków, do olania).

    Trochę to śmieszne. Ale robienie tych wszystkich tabelek i współczynników
    nie ma sensu.

    Natomiast dla spline'ów wrzucasz całą krzywą na raz do procedury (wysłałem
    ją do wątku, więc możesz ją sobie przetestować, to uproszczony wariant dla
    kubicznych i jeszcze końcówki jakieś byle jakie - tego rodzaju spline jest
    niejednoznaczny bez założeń o pochodnej na początku i końcu).

    W zasadzie dla wielomianu n-tego stopnia przechodzącego przez n punktów -
    też tak jest. Cała krzywa idzie od razu. Ale wielomian stopnia 10 tysięcy?
    Brrr... to nie zadziała.

    > Po pierwsze jednego nie dodasz, dla parabol musisz dodac 2, dla
    > simpspona 3.

    Tak, po prostu dodajesz po jednym punkcie - i patrzysz jak wzór ślizga się
    po sobie.

    > I co z tego. I tak obie wartosci, ciut rozne, (druga po odjeciu calki
    > z brzegow) sa
    > dokladniejsze(!) od przyblizania calki metoda trapezow.

    Spline jest dokładniejszy. Sprawdzone - połowienie kroku całkowania daje
    wartości szybciej zbieżne.

    > z 'wypuklosci'. Usredniajac to spowrotem dostajesz trapezy - tracisz
    > aproksymowana informacje f'.

    Im więcej uśredniania, tym mniej arbitralny jest wynik.

    > Wyzej masz powiedziane, to nieprawda. Twoja niestabilnosc i tak lezy

    Oj, nie widziałeś, nie liczyłeś... a wiesz. Weź sobie policz sam i zobacz,
    np. na funkcji Exp[-0.01]*Sin[x]. Albo licząc pole okręgu. Co będzie
    dokładniejsze?

    > liniowym (dla kubicznych mamy macierz trojdiagonalna, algorytm jest

    Łoczywiście. Vide procedurka jaką posłałem do wątku (krótka była, więc
    wysłałem).

    > Notatek nie chce mi sie szukac, jak to dawno temu robilem, ale pewnei
    > taz w
    > jakijes czesci da sie ominac wyrazanie wprost wspolczynnikow splajnow
    > (w jakiejs bazie) i prosto z wartosci w wezlach dostawac calke.

    A to już jest ciekawe. Vide procedurka - pętla jest po n, więc byłyby to
    unrolling loopsa po n, gdzie n jest nieznane.

    >> można próbować zrobić to ekstrapolacja do nieskończenie małego kroku, np.
    >> metodą Aitkena.
    > ?

    Liczysz sobie dla kroku h, h/2, h/4 lub podobnych. Potem jeżeli błąd jest
    O(h^k), a wynik dokładny X to masz ciąg

    X+O(h^k), X+2^-k * O(h^k), X+4^-k * O(h^k)

    z wartości tego ciągu (czyli wyników obliczeń) wyznaczasz X, czyli
    ekstrapolujesz wyniki do nieskończenie małego kroku.

    Oczywiście nikt ci nie broni np. zrobić sobie wykresu X+O(h^k) jako funkcji
    h czy choćby logarytmu h. I potem szukania palcem po wykresie do czego to
    zmierza.

    > Ale po co? Jedyne zadanie, jakie przed Toba stoi to zwiac taka
    > kwadrature,
    > aby jej wezly pokrywalty sie z x[k]. No, chyba, ze x[k] nie sa rozno
    > oddalone,
    > ale o to sie pytalem w pierwszym poscie;p

    Są. Na razie. Ale jest ich 10000. A to oznacza, że kwadratura
    "równouprawniająca" te punkty byłaby stopnia 10000. Co jest do zrobienia
    (Integrate na InterpolatingPolynomial)... ale kompletnie niepraktyczne - ze
    wzrostem stopnia wielomianu rosą szanse na to że owszem będzie interpolował,
    ale będzie też złą aproksymacją w sensie L2. Jak chcesz to ci mogę taką
    kwadraturę wysłać :) Powinno być mniej niż 1000 linijek.

    slawek


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: