-
Data: 2012-11-14 07:53:41
Temat: Re: Simpson vs. Niski Cotes
Od: kenobi <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 14 listopada 2012 00:06:53 UTC+1 użytkownik bartekltg napisał:
> W dniu 2012-11-13 23:33, kenobi pisze:
>
> > W dniu poniedziałek, 12 listopada 2012 10:47:02 UTC+1 użytkownik AK napisał:
>
> >> Użytkownik "slawek" <s...@h...pl> napisał:
>
> >>
>
> >>
>
> >> Poza tym to co zamiesciles to nie zadne C
>
> >>
>
> >> Top jakis potworek programisty niedouka.
>
> >>
>
> >
>
> > ciekawe moze by bylo uslyszec co z tym kodem
>
> > jest nie tak, ale szczerze mowiac nie
>
> > podejrzewam że tak sie wyraże 'możliwosci
>
> > sensownej odpowiedzi w tym temacie'
>
> >
>
> > (Imo jest to kawałek zupełnie normalnego/dobrego kodu w c
>
>
>
> "Normalny", bo się kompiluje. Ale nie jest poprawny.
>
>
>
> Błąd jest tutaj:
>
>
>
> > #define NPTS 10000 /* NPTS must be even! */
>
>
>
> > double x[NPTS+1];
>
> > double y[NPTS+1];
>
>
>
> Tak, liczba przedziałów ma być parzysta.
>
> Tak, to oznacza, że liczba punktów powinna
>
> być o jeden większa. Tyle, że sławek następnie
>
> konsekwentnie używa wyłącznie zmiennych x[1]..x[NPTS]
>
> W żadnej jogo funkcji nie użył x[0].
>
>
>
> Pomylił się czy przepisał bezrefleksyjnie z języka o tablicach
>
> indeksowanych od 1, nieistotne. Skutek jest taki:
>
>
>
> Mamy 999 przedziałów!
>
>
>
> x[1] = a //OK
>
> x[n] = b //ok
>
>
>
> Funkcje całkujące są niby poprawne, ale przez nieparzystą
>
> liczbę przedziałów dwie ostatni wagi są zawyżone!
>
> Funkcja jest tam lekko ujemna, stąd przekłamanie wyniku.
>
>
>
> Chętni mogą łatwo oszacować o ile:)
>
> sin(5)exp(-5)=-0.00646
>
>
>
>
>
> Drobna poprawka i wszystko bangla:
>
>
>
> #define NPTS 10001 /* NPTS must be even! */
>
>
>
> double x[NPTS+1];
>
> double y[NPTS+1];
>
>
>
> i mamy
>
>
>
> exact 0.5022749400837604
>
> tapez 0.5022749194248539
>
> simpson 0.5022749400837597
>
>
>
> exact od simpsona różni się o 7 na ostatniej
>
> wypluwanej liczbie:) 7*10^-16 !
>
>
>
> Kod, kompilator i wynik:
>
> http://codepad.org/ohuGkmiC
>
>
>
>
>
> OT, literówka, ale wykłócać się na grupie, że oto
>
> obalił to i owo to mógł.
>
bład błedem ale mi chodziło o to ze jest to
dobry (nawet fajnie zwarty) kod w c, (ja bym
tylko zmienil definy na const int, [jako ze preprocesor tak naprawde w pewnym sensie
nie jest czescia c i byl raczej tak traktowany nawet przez ritchiego jedynie jako
zewnetrzne narzedzie, (co mozna wyczytac w
historycznej nocie ritchiego*]
(przy tym jak ktos zrobi merytoryczny bład to
nie dureń nie jełopi z tego powodu)
fir (finite impulse response)
* "Many other changes occurred around 1972-3, but the most important was the
introduction of the preprocessor, partly at the urging of Alan Snyder [Snyder 74],
but also in recognition of the utility of the the file-inclusion mechanisms available
in BCPL and PL/I. Its original version was exceedingly simple, and provided only
included files and simple string replacements: #include and #define of parameterless
macros. Soon thereafter, it was extended, mostly by Mike Lesk and then by John
Reiser, to incorporate macros with arguments and conditional compilation. The
preprocessor was originally considered an optional adjunct to the language itself.
Indeed, for some years, it was not even invoked unless the source program contained a
special signal at its beginning. This attitude persisted, and explains both the
incomplete integration of the syntax of the preprocessor with the rest of the
language and the imprecision of its description in early reference manuals."
Następne wpisy z tego wątku
- 14.11.12 08:30 kenobi
- 14.11.12 09:01 kenobi
- 14.11.12 09:06 AK
- 14.11.12 12:02 slawek
- 14.11.12 12:05 Michoo
- 14.11.12 12:07 slawek
- 14.11.12 12:28 slawek
- 14.11.12 12:31 slawek
- 14.11.12 12:31 Michoo
- 14.11.12 12:41 slawek
- 14.11.12 12:46 Roman W
- 14.11.12 12:47 slawek
- 14.11.12 12:52 bartekltg
- 14.11.12 13:09 slawek
- 14.11.12 13:41 kenobi
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta
- 2025-12-24 Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- 2025-12-23 Prezent dla kierowców od prezydenta Nawrockiego
- 2025-12-23 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-12-23 Warszawa => Senior IT Recruitment Consultant <=
- 2025-12-22 czy wiedziałeś że?
- 2025-12-22 Unijne KOOOORWY mówią że WYCOFUJĄ się z zakazu rejestracji elektryków
- 2025-12-22 Białystok => ERP Microsoft Dynamics 365 Commerce Consultant <=




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem