Biblioteka do obliczania całek w C++
-
- Użytkownik
- Posty: 21
- Rejestracja: 2 lis 2006, o 17:20
- Płeć: Mężczyzna
- Lokalizacja: Kołobrzeg
- Pomógł: 1 raz
Biblioteka do obliczania całek w C++
Witam wszystkich !
Mam do napisania program, przy którym będę musiał wyliczyć całkę nieoznaczoną. Program będę pisał w Microsoft Visual C++, albo w Borland C++ Builder. Czy są jakieś biblioteki do visuala, albo buildera które pozwalają na wyliczenie całki ?
Jeżeli nie, to jak realizuje się programowo liczenie całki nieoznaczonej ?
Mam do napisania program, przy którym będę musiał wyliczyć całkę nieoznaczoną. Program będę pisał w Microsoft Visual C++, albo w Borland C++ Builder. Czy są jakieś biblioteki do visuala, albo buildera które pozwalają na wyliczenie całki ?
Jeżeli nie, to jak realizuje się programowo liczenie całki nieoznaczonej ?
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
Biblioteka do obliczania całek w C++
Nie ma takiej rzeczy. Za dobrze by było. Ogólnie liczenie całek nieoznaczonych polega na znaniu jakichś schematów rozwiązań ogólnych, które można zastosować. Problemem jest też to, że nie każdą funkcję da się scałkować do funkcji elementarnych :/
Pozdrawiam.
Pozdrawiam.
-
- Użytkownik
- Posty: 21
- Rejestracja: 2 lis 2006, o 17:20
- Płeć: Mężczyzna
- Lokalizacja: Kołobrzeg
- Pomógł: 1 raz
Biblioteka do obliczania całek w C++
Tak myślałem że nie ma łatwego rozwiązania... A co z całkami niewłaściwymi ? W tym wypadku pojawia się problem obliczenia granicy, może na to jest jakiś sprytny sposób ?
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
Biblioteka do obliczania całek w C++
Najpopularniejszym sposobem jest chyba całkowanie Monte Carlo. W dużym skrócie - "strzelasz" w wykres w podanym przedziale i porównujesz ilość "trafień" (wyników mniejszych bądź równych wartości funkcji) z ilością wszystkich "strzałów", przez co w przybliżeniu wiesz, jaki procent przedziału "wypełnia" wykres.
Musisz do tej metody oszacować minimum i maksimum w zadanym przedziale.
EDYTOWANO.
Dzięki, zawsze mi się to myli.
Musisz do tej metody oszacować minimum i maksimum w zadanym przedziale.
EDYTOWANO.
Dzięki, zawsze mi się to myli.
- klaustrofob
- Użytkownik
- Posty: 1984
- Rejestracja: 11 lis 2007, o 07:29
- Płeć: Mężczyzna
- Lokalizacja: inowrocław
- Podziękował: 1 raz
- Pomógł: 607 razy
Biblioteka do obliczania całek w C++
w tej postaci problem jest bardzo ogólny. ale może wiesz coś o funkcjach (funkcji?), którą będziesz miał całkować? jeżeli jest to klasa "porządnych" funkcji, to można oprogramować dowolną z metod całkowania przybliżonego.daro256 pisze: będę musiał wyliczyć całkę nieoznaczoną.
-
- Użytkownik
- Posty: 153
- Rejestracja: 17 sty 2010, o 15:37
- Płeć: Mężczyzna
- Lokalizacja: Wroclaw
- Pomógł: 13 razy
Biblioteka do obliczania całek w C++
chyba najlatwiej jest to pociagnac Riemannem:
gdzie calkujesz funkcje f(x) na przedziale [a, b], dyskretyzujac ten przedzial skokiem rownym zmiennej skok (warto ustawic skok jako dzielnik liczby b-a). suma bedzie oznaczac wlasnie ta calke.
ostatecznie \(\displaystyle{ \lim_{skok\to0}suma = \int_{a}^{b}f(i)}\) wiec dla dowolnie malego skoku (ograniczanego rozdzielczoscia reprezentacji liczb zmiennoprzecinkowych) dostaniesz dowolnie dokladna calke.
ew. mozesz to metoda trapezow tez zrobic:
==edit==
yyy... przeczytalem temat raz jeszcze i sie zorientowalem ze o oznaczonych nikt tu nie mowil. nie wiem skad mi sie wzielo, ze przyda sie taki post. sory. ale moze i tak sie przyda
Kod: Zaznacz cały
for (int i=a; i<b; i+=skok)
suma+=f(i)*skok;
ostatecznie \(\displaystyle{ \lim_{skok\to0}suma = \int_{a}^{b}f(i)}\) wiec dla dowolnie malego skoku (ograniczanego rozdzielczoscia reprezentacji liczb zmiennoprzecinkowych) dostaniesz dowolnie dokladna calke.
ew. mozesz to metoda trapezow tez zrobic:
Kod: Zaznacz cały
for (int i=a; i<b; i+=skok)
suma+=(f(i)+f(i+skok))*skok/2;
yyy... przeczytalem temat raz jeszcze i sie zorientowalem ze o oznaczonych nikt tu nie mowil. nie wiem skad mi sie wzielo, ze przyda sie taki post. sory. ale moze i tak sie przyda
- Sokół
- Użytkownik
- Posty: 451
- Rejestracja: 17 wrz 2006, o 19:22
- Płeć: Mężczyzna
- Lokalizacja: Zielona Góra
- Podziękował: 15 razy
- Pomógł: 55 razy
Biblioteka do obliczania całek w C++
skoro mowa o metodach przybliżonych, to polecam bibliotekę GiNaC, która ma wbudowane całkowanie numeryczne oraz miljart innych funkcji:
polecam zapoznać się z tutorialem, biblioteka jest zaiste genialna.
polecam zapoznać się z tutorialem, biblioteka jest zaiste genialna.
- Emiel Regis
- Użytkownik
- Posty: 1495
- Rejestracja: 26 wrz 2005, o 17:01
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 71 razy
- Pomógł: 225 razy
Biblioteka do obliczania całek w C++
Monte Carlo; )Althorion pisze:Najpopularniejszym sposobem jest chyba całkowanie Monte Casino.
-
- Użytkownik
- Posty: 21
- Rejestracja: 2 lis 2006, o 17:20
- Płeć: Mężczyzna
- Lokalizacja: Kołobrzeg
- Pomógł: 1 raz
Biblioteka do obliczania całek w C++
Jak zastosować tą metodę skoro nie znam funkcji, która wyjdzie po obliczeniu całki nieoznaczonej ?Althorion pisze:Najpopularniejszym sposobem jest chyba całkowanie Monte Carlo...
A jeżeli mowa o całkach niewłaściwych to co z sytuacją kiedy granicą przedziału jest nieskończoność ?
Funkcje na pewno będą porządne. Mógłbyś podać którąś z metod całkowania przybliżonego, która nadaje się do całek nieoznaczonych, lub do niewłaściwych.klaustrofob pisze:w tej postaci problem jest bardzo ogólny. ale może wiesz coś o funkcjach (funkcji?), którą będziesz miał całkować? jeżeli jest to klasa "porządnych" funkcji, to można oprogramować dowolną z metod całkowania przybliżonego.daro256 pisze: będę musiał wyliczyć całkę nieoznaczoną.
Z tego co wyczytałem to biblioteka radzi sobie tylko z całkami oznaczonymi. Jeżeli się mylę to mnie popraw.Sokół pisze:skoro mowa o metodach przybliżonych, to polecam bibliotekę GiNaC, która ma wbudowane całkowanie numeryczne oraz miljart innych funkcji:
polecam zapoznać się z tutorialem, biblioteka jest zaiste genialna.
- Emiel Regis
- Użytkownik
- Posty: 1495
- Rejestracja: 26 wrz 2005, o 17:01
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 71 razy
- Pomógł: 225 razy
Biblioteka do obliczania całek w C++
daro256, Ty w ogóle umiesz całkować? Bo odnoszę wrażenie, że dostałeś projekt z informatyki ale o jego matematycznej części to nie masz bladego pojęcia. Wiesz co to całka nieoznaczona albo niewłaściwa? I w szczególności co rozumiesz przez "metodę całkowania przybliżonego" w kontekście obliczania całki nieoznaczonej?
Jeśli chcesz zaimplementować coś co będzie liczyło całkę nieoznaczoną z dowolnej funkcji ciągłej (wiemy, że taka istnieje) to nie zdajesz sobie w ogóle sprawy z trudności problemu, ergo nie wiesz o czym mówisz.
A to co wyżej większość osób pisała to nie czytaj, bo tyczy się to wszystko całek oznaczonych. Pierwszy post soku11 załatwił tutaj w zasadzie wszystko.
Możesz napisać maila do autorów Maple'a albo Mathematici z prośbą o algorytm: ]
Jako ciekawostkę podaję:
Jeśli chcesz zaimplementować coś co będzie liczyło całkę nieoznaczoną z dowolnej funkcji ciągłej (wiemy, że taka istnieje) to nie zdajesz sobie w ogóle sprawy z trudności problemu, ergo nie wiesz o czym mówisz.
A to co wyżej większość osób pisała to nie czytaj, bo tyczy się to wszystko całek oznaczonych. Pierwszy post soku11 załatwił tutaj w zasadzie wszystko.
Możesz napisać maila do autorów Maple'a albo Mathematici z prośbą o algorytm: ]
Jako ciekawostkę podaję:
-
- Użytkownik
- Posty: 21
- Rejestracja: 2 lis 2006, o 17:20
- Płeć: Mężczyzna
- Lokalizacja: Kołobrzeg
- Pomógł: 1 raz
Biblioteka do obliczania całek w C++
Umiem i wiem co to jest całka nieoznaczona i niewłaściwa, również zdaję sobie sprawę ze złożoności problemu. Ale zanim zacznie się rozwiązywać złożony problem dobrze jest sprawdzić, czy ktoś już tego nie zrobił.Emiel Regis pisze:daro256, Ty w ogóle umiesz całkować?...
A teraz mam pytanie do Ciebie. Czy wiesz co oznacza układ w postaci: cytat użytkownika a pod nim wypowiedź ? Bo odnoszę wrażenie, że nie. Gdybyś wiedział to pytania:
byś nie kierował do mnie.Emiel Regis pisze:I w szczególności co rozumiesz przez "metodę całkowania przybliżonego" w kontekście obliczania całki nieoznaczonej?
Moim zdaniem "całkowanie przybliżone" nie nadaje się do całek nieoznaczonych, ale jako że nigdy nie pisałem programu do tego celu, oraz nie wydaje mi się żebym znał wszystkie metody całkowania przybliżonego, wolę się zapytać. Może klaustrofob mnie zaskoczy.
[/quote]Emiel Regis pisze: A to co wyżej większość osób pisała to nie czytaj, bo tyczy się to wszystko całek oznaczonych...
Dobrze, będę czytał tylko twoje posty
- Emiel Regis
- Użytkownik
- Posty: 1495
- Rejestracja: 26 wrz 2005, o 17:01
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 71 razy
- Pomógł: 225 razy
Biblioteka do obliczania całek w C++
Wiem co pisał klaustrofob, po prostu mi chodziło, że ktoś kto rozróżnia operacje liczenia całek nieoznaczonych i oznaczonych to powinien posiadać sito przez które przesiewa informacje i może poznać, która część wypowiedzi czego się tyczy. Choć zgadzam się, że jego wypowiedź bynajmniej nie wskazuje aby czynił jakiekolwiek rozróżnienie między nimi.
Oczywiście teoretycznie można sobie wyobrazić, że bierzemy jakąś metrykę, i w tej metryce poszukujemy funkcji pierwotnych, które należą do pewnej kuli i w ten sposób są w jakimś sensie "bliskie" naszemu rozwiązaniu. Choć im więcej o tym myślę to coraz więcej problemów z tym widzę, choćby taki, że na całej dziedzinie może być kłopot aproksymować przyzwoicie funkcję elementarną przez inną funkcję elementarną. Gdyby się ograniczyć do przedziału to by można choćby wielomianami każdą funkcję dobrze przybliżyć. Ale przecież nie o to tu chodzi.
Zresztą jak przeczytałeś mój ostatni link to już wiesz, że to nie jest łatwa rzecz.
Oczywiście teoretycznie można sobie wyobrazić, że bierzemy jakąś metrykę, i w tej metryce poszukujemy funkcji pierwotnych, które należą do pewnej kuli i w ten sposób są w jakimś sensie "bliskie" naszemu rozwiązaniu. Choć im więcej o tym myślę to coraz więcej problemów z tym widzę, choćby taki, że na całej dziedzinie może być kłopot aproksymować przyzwoicie funkcję elementarną przez inną funkcję elementarną. Gdyby się ograniczyć do przedziału to by można choćby wielomianami każdą funkcję dobrze przybliżyć. Ale przecież nie o to tu chodzi.
Zresztą jak przeczytałeś mój ostatni link to już wiesz, że to nie jest łatwa rzecz.
- klaustrofob
- Użytkownik
- Posty: 1984
- Rejestracja: 11 lis 2007, o 07:29
- Płeć: Mężczyzna
- Lokalizacja: inowrocław
- Podziękował: 1 raz
- Pomógł: 607 razy
Biblioteka do obliczania całek w C++
przepraszam wszystkich - nieuważnie przeczytałem pierwszy post daro256, a że do głowy mi nie przyszło, by ktoś chciał (miał jako projekt) napisać bibliotekę/program do całkowania symbolicznego, resztę - tj. całkowanie numeryczne/oznaczone - dopowiedziałem sobie sam. dalej po prostu nie chciało mi się prostować wypowiedzi, jak zrobił to filip.wroc.