-
61. Data: 2009-07-07 20:44:05
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
Mateusz Ludwin <n...@s...org> napisał(a):
> Mariusz Marszałkowski wrote:
> > slawek <s...@h...pl> napisał(a):
> >
> >> Użytkownik "A.L." <a...@a...com> napisał w wiadomości grup
> >> dyskusyjnych:1ha4551u4tbnlo02cjmpjbbp07vgn3hilm@4ax.
com...
> >>> W tym problem ze chyba nie byles na zadznych studiach...
> >> Chyba jestem w KF u A.L. (co samo w sobie prawie jak Nobel :) ), ale nie
> >> mogę sie powstrzymać od komentarza:
> >
> > Spokojnie z emocjami. Nie wiem dlaczego Pan A.L. interesuje się tym czy
> > byłem na jakiś studiach, może chce mi polecić jakiś sposób doedukowania się,
> > naprawdę nie wiem o co chodzi. Nie mam powodów do wyciągania żadnych
> > negatywnych wniosków, wręcz przeciwnie.
> >
> > Pan Mateusz Ludwin od jakiegoś czasu nie czytając moich postów (albo ich
> > nie rozumie, ale dziwne że wszystkich) wciąż nawiązuje do mojego
> > niedostatecznego wykształcenia. Dziwne jak na wykształconego człowieka.
> > Dziwne jest także to, że jako wykształcony człowiek nie odpisuje nic
> > wnoszącego do dyskusji. Ale zapewne nam to wyjaśni.
>
> Ja się nie interesuję wykształceniem, tylko zakładam że jeśli ktoś pisze że
> całka to pole pod wykresem to najwyraźniej nie ma o tym pojęcia bo zwyczajnie
> nie studiował analizy matematycznej. A jako taki NIE POWINIEN DORADZAĆ w tym
> temacie.
Nigdy nie twierdziłem że się nie mylę, albo że posiadam pełną wiedzę
matematyczno-informatyczną. Wystarczy napisać że to co napisałem jest
nieprawdą. Co do moich studiów... cóż szkoda papieru na to.
Pozdrawiam i dziękuję za linka do wykładów
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
62. Data: 2009-07-08 04:21:52
Temat: Re: Pocedura całkowania
Od: Wit Jakuczun <w...@g...com>
On 7 Lip, 18:53, "slawek" <s...@h...pl> wrote:
> Użytkownik "Wit Jakuczun" <w...@g...com> napisał w wiadomości grup
> dyskusyjnych:012c60de-a6af-43de-a8bf-fa00acd4f...@h1
8g2000yqj.googlegroups.com...
>
> > W rzeczywistości, którą sam stworzyłeś. Zaiste podnosi to wiarygodność
> > Twoich stwierdzeń.
>
> > Pozdrawiam,
> > Wit
>
> Weź oblicz jakąś całkę spline'ami i zwykłym wzorkiem np. Simpsona. Założenie
> takie, że węzłów łącznie ma być 10 tysięcy. Porównaj wyniki.
>
> Jak widzisz, to co twierdzę jest łatwo falsyfikowalne.
Nie jest. Nie podałeś jasnych kryteriów. Używanie splajnów
argumentujesz
tym, że dają wiarygodne wyniki. Mówię oczywiście o Twoim
przypadku a nie o jakiejś całce.
> Chcesz udowodnić że nie mam racji?
Nie, ja tylko chcę, żeby obok Twoich błędnych sformułowań
(parę było w tym wątku) pojawiły się informacje właściwe.
To nie jest nic osobistego.
> exp(-0.001*x), całka z tego od 0 do 1000). No, nuże, skoro pan W.J. taki
> kozak - to co dla niego!
>
Dla mnie to nic. Chętnie Wam/Tobie pomogę. Zgłoś proszę zapytanie
do biura mojej firmy. Dostaniesz najlepszego człowieka, który wykona
wszelkie interesujące Cię analizy.
Pozdrawiam,
Wit
-
63. Data: 2009-07-08 09:45:14
Temat: Re: Pocedura całkowania
Od: "slawek" <s...@h...pl>
Użytkownik "Wit Jakuczun" <w...@g...com> napisał w wiadomości grup
dyskusyjnych:4e76396e-e703-4f65-9c6e-c3e82f5186d8@h1
1g2000yqb.googlegroups.com...
>> Weź oblicz jakąś całkę spline'ami i zwykłym wzorkiem np. Simpsona.
>> Założenie
>> takie, że węzłów łącznie ma być 10 tysięcy. Porównaj wyniki.
>>
>> Jak widzisz, to co twierdzę jest łatwo falsyfikowalne.
> Nie jest. Nie podałeś jasnych kryteriów. Używanie splajnów
> argumentujesz
> tym, że dają wiarygodne wyniki. Mówię oczywiście o Twoim
> przypadku a nie o jakiejś całce.
Dobrze, ponieważ jesteś uparty - policz sobie
http://planetmath.org/encyclopedia/SineIntegral.html
, masz rozwinięcie w
szereg, więc jest z czym porównywać.
Weź trapeziki i 3/8, porównaj z całkowaniem spline'ami. Sam jestem ciekawy -
robiłem różne testy, ale z tą funkcją nie. Nota bene, pod całką siedzi
oscylacja pomnożona przez zanikającą amplitudę. Inżyniersko sensowne.
Uwaga, ale istotna: licz z podwójną precyzją i za każdym razem dla 10000
równooddalonych węzłów - im więcej cyfr znaczących tym lepiej - ja używam 80
bitowych liczb rzeczywistych, choć zastanawiam się nad czymś lepszym (320?)
> Dla mnie to nic. Chętnie Wam/Tobie pomogę. Zgłoś proszę zapytanie
> do biura mojej firmy. Dostaniesz najlepszego człowieka, który wykona
> wszelkie interesujące Cię analizy.
Wiesz, jeżeli ten człowiek nie jest dużo mądrzejszy niż ty, to chyba nie
warto? Nie wiem czemu, ale odnoszę takie wrażenie, irracjonalne, że polski
I-net to piaskownica - liczy się tylko ile można dokuczyć innemu
człowiekowi, jak bardzo długi ma się szpadelek itp. Co dość ciekawe - gdy
pojawia się konkretny problem - i to taki, że jego rozwiązanie (w domyśle -
rozwiązanie będące z natury rzeczy Public Domain) mogłoby być przydatne
jeżeli nie dla wszystkich, to w każdym razie dla wielu osób - wtedy
dyskutanci zaczynają odmładzać się wszczynając spory godne gimnazjalistów -
bo w ten sposób ukrywają iż problem nawet jeżeli ich nie przerasta, to po
prostu wymagałby myślenia, pracy, jakiegoś zaangażowania - aby choćby nieco
merytorycznie podejść do niego. A.L. to człowiek dość obyty, niestety to
człowiek "nei" - zero szans na rozumną dyskusję, bo w pewnym momencie
wyraźnie zawiesza się na "kim ja to nie jestem" i od tego momentu już tylko
przykro czytać. Ty upierasz się aby forsować rozwiązania jakie znasz, bo nie
potrafisz zrozumieć, że mogą być lepsze - a nawet być może jeszcze lepsze
niż te lepsze (i tych właśnie szukam).
Jak weźmie sie podręcznik Jankowskich "Przegląd metod...", to uderza iż w
znacznej objętości zawarte są mało warte informacje. Porównując ten
podręcznik choćby z dziełkiem Nasha "Compact numerical..." widać ogromną
przepaść pomiędzy polskim informatykiem - a tym, co potrafią zrobić na tzw.
Świecie. To samo niestety widać i z grupą PCP - niby ludzie umiejący
programować... co tu pisać - poziom jest jaki widać.
Wydaje się, że część ludzi na analfabetyzm wtórny - wszak zaczynając wątek
wprost napisałem, iż chodzi o lepsze podejście niż funkcje sklejane, przy
tym wykluczone są kwadratury Gausa-Cotesa, Simpsona, Boole'a i podobne XIX
wieczne rozwiązania, także całkowanie według Romberga nie wchodzi w grę. Co
otrzymuję w odpowiedzi? Że metoda Simpsona jest najlepsza...
Wiesz co ja robię z radami ludzi którzy zatrzymali się na wzorze Simpsona?
Ja po prostu - być może błędnie - szufladkuję je jako mało warte i
prawdopodobnie udzielane przez ludzi znających analizę numeryczną albo po
łebkach, albo też tylko teoretycznie - a być może i jedno i drugie.
slawek
-
64. Data: 2009-07-08 17:17:28
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
slawek <s...@h...pl> napisał(a):
> Problem jest w zasadzie już częściowo rozwiązany, ale każde ulepszenie
> byłoby pożądane. Oszczędzałoby czas, dawało dokładniejsze wyniki, a może
> byłoby zwyczajnie prostsze? W każdym razie w literaturze niewiele znalazłem,
> podobnie Google itp. Więc problem być może jest ciekawy.
>
> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
> = 1,2,3,...,n ?
Możesz te dane maksymalnie gęsto próbkować, zapisać w pliku tekstowym,
skompresować i udostępnić gdzieś w necie, np. na przeklej.pl? Ale
naprawdę maksymalnie, żebym mógł dużo danych odrzucać i sprawdzać
jak spada dokładność procedury. Jeśli znajdę chwilę czasu to się
pobawię.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
65. Data: 2009-07-08 20:05:14
Temat: Re: Pocedura całkowania
Od: Wit Jakuczun <w...@g...com>
On 8 Lip, 11:45, "slawek" <s...@h...pl> wrote:
[Analiza psychospołeczna polskich grup usenetowych by "sławek"]
Cytując za Franzem Marurerem, "Nie chce mi się z Tobą gadać..."
Pozdrawiam,
Wit
-
66. Data: 2009-07-08 20:34:24
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
Mateusz Ludwin <n...@s...org> napisał(a):
> slawek wrote:
>
> > Chyba jestem w KF u A.L. (co samo w sobie prawie jak Nobel :) ), ale
> > nie mogę sie powstrzymać od komentarza:
> >
> > czy gdyby przedmówca A.L. odparł mu że owszem, skończył grekę
> > klasyczną, archeologię, eksternistycznie prawo a ponad to doktorat z
> > filozofii i trzeci stopień mistrzowski w karate - to jaki miałoby to
> > wpływ na dalszą dyskusję? Zero wiedzy o całkach. A warunek "bycia na
> > studiach" - spełniony byłby jak najbardziej! Cóż, ani Indiana Jones ani
> > Lara C. nie są godnymi dyskusji z A.L. :)
>
> Jakbyś śmieszny miśku WIEDZIAŁ na czym polega całkowanie względem miary, to od
> razu magicznie wyjaśniłoby ci się że MOŻNA całkować funkcję typu
>
> x|1|2|3|4
> ------------
> y|4|3|4|3
>
> Rozumiesz już po co pytamy o studia i o całkę Lebesgue'a?
Nie, właśnie z takich listów nic nie rozumiem. Brzmią jedynie jakbyś chciał
mi dosrać, że jestem groszy z tego powodu że czegoś nie wiem. W niczym
mi nie pomagają, ani do niczego nie są mi potrzebne.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
67. Data: 2009-07-08 22:20:03
Temat: Re: Pocedura całkowania
Od: "slawek" <s...@h...pl>
Użytkownik "Mariusz Marszałkowski" <b...@g...pl> napisał w
wiadomości grup dyskusyjnych:h32kb8$e37$...@i...gazeta.pl...
> Możesz te dane maksymalnie gęsto próbkować, zapisać w pliku tekstowym,
> skompresować i udostępnić gdzieś w necie, np. na przeklej.pl? Ale
> naprawdę maksymalnie, żebym mógł dużo danych odrzucać i sprawdzać
> jak spada dokładność procedury. Jeśli znajdę chwilę czasu to się
> pobawię.
Jak chcesz się bawić - to ok. Ale funkcje sklejane jakoś sobie radzą -
pytałem się, bo może jest coś jeszcze lepszego, o czym nie wiem. Po prostu
ciekawi mnie, jaką najlepszą procedurę "całkowania realnie zbieranych
danych" można wymyśleć w 2009 roku. Stara biblioteka CERNLIB oferowała
dopasowywanie kawałkami parabol - gorsze to było niż funkcje sklejane. Czy
można zrobić coś lepszego do takiego całkowania niż całkowanie przez funkcje
sklejane? Na przykład za pomocą FFT? To chyba samo w sobie ciekawe pytanie.
Co do danych: weź sobie jako funkcję podcałkową sin(x)/x na przykład; albo
dowolną funkcję, której oscylacje zanikają. Dla sin(x)/x całka oznaczona
rozwija się w szereg, więc łatwo porównywać. Na każdy okres przypada więcej
niż 1000 "sampli".
slawek
-
68. Data: 2009-07-09 09:33:28
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
slawek <s...@h...pl> napisał(a):
> Jak chcesz się bawić - to ok.
Pobawiłem się na czterech funkcjach. Aproksymuję wielomianem 2-go stopnia i
trapezami. Nie mam pewności czy w aproksymacji wielomianem nie mam błędu.
Na pierwszy rzut oka stosunek dokładności do czasu wygląda niemal tak
samo dla wielomianu i trapezów. Ale zapewne aproksymację wielomianem
da się wydajniej zakodować. Kod (pod winde) umieszczam poniżej. Da się
go łatwo rozbudować na inne funkcje i inne sposoby całkowania.
> Na przykład za pomocą FFT? To chyba samo w sobie ciekawe pytanie.
Czemu nie?
Pozdrawiam
typedef double tf; // type float
#define d_prec_min (1<<2)
#define d_prec_max (1<<19)
#define d_cnt_test (500)
// Pomiar czasu
class Times
{
private:
__int64 v_start;
public:
void start(void)
{
FILETIME tmp1,tmp2,tmp3,tmp4;
GetThreadTimes( GetCurrentThread() , &tmp1 , &tmp2 , &tmp3 , &tmp4 );
v_start = *((__int64*)&tmp4);
}
int end(int cnt_test)
{
FILETIME tmp1,tmp2,tmp3,tmp4;
__int64 v_end;
GetThreadTimes( GetCurrentThread() , &tmp1 , &tmp2 , &tmp3 , &tmp4 );
v_end = *((__int64*)&tmp4);
return (int)((v_end-v_start)/10/cnt_test);
}
};
// Baza dla testowanych funkcji
class BaseFunc
{
friend class BaseTest;
virtual tf exactValue(void) const = 0; // dokładna wartość
virtual tf start(void) const = 0; // początek zakresu
virtual tf end(void) const = 0; // koniec zakresu
virtual tf func(const tf x) const = 0; // funkcja
};
// sin(x)/x
class Si : public BaseFunc
{
public:
virtual tf exactValue(void) const { return
((tf)1.608194499263757628296323926138231688753059204
3316413876215625399831498); }
virtual tf start(void) const { return ((tf)0.01); }
virtual tf end(void) const { return ((tf)15); }
virtual tf func(const tf x) const { return ((tf)(sin(x)/x)); }
};
// cos(x)/x
class Ci : public BaseFunc
{
public:
virtual tf exactValue(void) const { return
((tf)4.074258198656752511848286445453690152144932604
98723926233961338683); }
virtual tf start(void) const { return ((tf)0.01); }
virtual tf end(void) const { return ((tf)15); }
virtual tf func(const tf x) const { return ((tf)(cos(x)/x)); }
};
// sin(x)/x^2
class Sii : public BaseFunc
{
public:
virtual tf exactValue(void) const { return
((tf)5.026408327223266870735360867169039335334048495
8641615625132381406263886425955984186496153422221141
36);
}
virtual tf start(void) const { return ((tf)0.01); }
virtual tf end(void) const { return ((tf)25); }
virtual tf func(const tf x) const { return ((tf)(sin(x)/x/x)); }
};
// 3xxx-2xx+5x+4
class Xxx : public BaseFunc
{
public:
virtual tf exactValue(void) const { return
((tf)7123.333333333333333333333333333333333333333333
3333333333333); }
virtual tf start(void) const { return ((tf)0.0); }
virtual tf end(void) const { return ((tf)10); }
virtual tf func(const tf x) const { return ((tf)(3*x*x*x-2*x*x+5*x+4)); }
};
// Baza dla testów
class BaseTest
{
private:
BaseFunc *bf; // testowana funkcja
tf *vals; // wartości
int cnt_test; // ilość testów (pomiarów czasu)
int prec_min; // minimalna dokładność
int prec_max; // maksymalna dokładność
tf step; // stały krok pomiaru
private:
void makeValue(const int prec)
{
vals = (tf*)realloc(vals,sizeof(tf)*prec);
step = (bf->end() - bf->start()) / (prec-1);
tf x = bf->start() - step;
for(int i=0 ; i<prec ; i++ )
vals[i] = bf->func( x += step );
}
protected:
virtual tf integral( const tf *vals , const tf step , int cnt ) = 0; // całka
public:
BaseTest(BaseFunc *bf,int prec_min=d_prec_min,int prec_max=d_prec_max,int
cnt_test=d_cnt_test):bf(bf),prec_min(max(prec_min,2)
),prec_max(prec_max),cnt_test(cnt_test),vals(NULL){}
virtual ~BaseTest() { free(vals); }
void go(void)
{
int prec = prec_min/2;
do
{
Times t;
tf comps;
prec *= 2;
makeValue( prec );
t.start();
for(int i=0 ; i<cnt_test ; i++ )
comps = integral( vals , step , prec );
printf("%10d %6d
%13.10lf\n",(int)prec,(int)t.end(cnt_test),(double)f
abs(comps-bf->exactValue()));
}
while( prec < prec_max );
}
};
class Trapezy : public BaseTest
{
protected:
virtual tf integral(const tf *vals , const tf step , int cnt)
{
tf sum = 0;
cnt--;
for(int i=1;i<cnt;i++)
sum += vals[i];
sum += (vals[0] + vals[cnt]) / 2;
return sum * step;
}
public:
Trapezy(BaseFunc *bf,int prec_min=d_prec_min,int prec_max=d_prec_max,int
cnt_test=d_cnt_test):BaseTest(bf,prec_min,prec_max,c
nt_test){}
};
class Polyn_2 : public BaseTest
{
private:
void abc( const tf y1, const tf y2, const tf y3, tf *a, tf *b, tf *c )
{
*c = y1;
*b = (-4*y2+4*y1+y3-y1) / (-2);
*a = (y2 - y1 - *b ) ;
}
protected:
virtual tf integral(const tf *vals , const tf step , int cnt)
{
tf a,b,c;
tf sum = 0;
for(int i=0;i<cnt-2;i++)
{
abc(vals[i],vals[i+1],vals[i+2],&a,&b,&c);
sum += a/3 + b/2 + c;
/*
if( fabs(a*0*0 + b*0 + c - vals[i] ) > 0.000000001 )
abort();
if( fabs(a + b + c - vals[i+1]) > 0.000000001 )
abort();
if( fabs( a*2*2 + b*2 + c - vals[i+2]) > 0.000000001 )
abort();
*/
}
abc(vals[cnt-3],vals[cnt-2],vals[cnt-1],&a,&b,&c);
sum += a*2*2*2 / 3 + b*2*2 / 2 + c*2 - a/3 - b/2 - c ;
return sum * step;
}
public:
Polyn_2(BaseFunc *bf,int prec_min=d_prec_min,int prec_max=d_prec_max,int
cnt_test=d_cnt_test):BaseTest(bf,prec_min,prec_max,c
nt_test){}
};
int main(int argc, char* argv[])
{
Si si;
Trapezy t1(&si);
t1.go();
Polyn_2 p1(&si);
p1.go();
Ci ci;
Trapezy t2(&ci);
t2.go();
Polyn_2 p2(&ci);
p2.go();
Sii sii;
Trapezy t3(&sii);
t3.go();
Polyn_2 p3(&sii);
p3.go();
Xxx xxx;
Trapezy t4(&xxx);
t4.go();
Polyn_2 p4(&xxx);
p4.go();
return 0;
}
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
69. Data: 2009-07-10 18:23:21
Temat: Re: Pocedura całkowania
Od: Krzysiek <"dthrone[wytnij_to_i_nawiasy]"@interia.pl>
W dniu 2009-07-07 16:22, slawek pisze:
>
> Użytkownik "A.L." <a...@a...com> napisał w wiadomości grup
> dyskusyjnych:hkh6551suknsnvi4ebn5vdvvc0lnhdn3c8@4ax.
com...
>> Znaczy, Panei Slawek, ze ani odtwarzacz CD, ani Panski ulubiony iPod
>> nei maja prawa dzialac. One wlasnei pzrechowuja muzyke "zsamplowana" w
>
> Panie "nei" A.L. - gratuluję nieznajomości elektroniki. Od kiedy w
> odtwarzaczach MP3 na słuchawki podawane są impulsy szpilkowe?! ROTFL
>
>> pomiecy probkami, Panski CD jest prawdopodobnie gluchy jak pien. Moj
>> CD wie co jest meidzy punktami,. albowiem sluszal o twierdzeniu
>> Shannona-Kotielnikowa i wie co robic.
>
> Czy pana CD (nota bene, nie CD ale odtwarzać CD, CD-player) potrafi
> odtworzyć sygnał 1 MHz z płyty? Nie potrafi. Bo właśnie twierdzenie na które
> się pan powołujesz, a którego zwyczajnie nie rozumiesz pan, to określa. Nie
> da się określić tego, co jest między samplami. Nawet jeżeli tam byłby strzał
> z fazerów.
No ale nie przeginajmy. Wspomniane twierdzenie mówi, że sygnał
oryginalny w pewnych warunkach DA się jednoznacznie odtworzyć z próbek.
Jeśli sygnał ma ograniczone widmo i próbkujemy odpowiednio często, to
jaki problem?
--
Pozdrawiam,
Krzysiek
-
70. Data: 2009-07-10 18:24:30
Temat: Re: Pocedura całkowania
Od: A.L. <a...@a...com>
On Fri, 10 Jul 2009 20:23:21 +0200, Krzysiek
<"dthrone[wytnij_to_i_nawiasy]"@interia.pl> wrote:
>W dniu 2009-07-07 16:22, slawek pisze:
>>
>> Użytkownik "A.L." <a...@a...com> napisał w wiadomości grup
>> dyskusyjnych:hkh6551suknsnvi4ebn5vdvvc0lnhdn3c8@4ax.
com...
>>> Znaczy, Panei Slawek, ze ani odtwarzacz CD, ani Panski ulubiony iPod
>>> nei maja prawa dzialac. One wlasnei pzrechowuja muzyke "zsamplowana" w
>>
>> Panie "nei" A.L. - gratuluję nieznajomości elektroniki. Od kiedy w
>> odtwarzaczach MP3 na słuchawki podawane są impulsy szpilkowe?! ROTFL
>>
>>> pomiecy probkami, Panski CD jest prawdopodobnie gluchy jak pien. Moj
>>> CD wie co jest meidzy punktami,. albowiem sluszal o twierdzeniu
>>> Shannona-Kotielnikowa i wie co robic.
>>
>> Czy pana CD (nota bene, nie CD ale odtwarzać CD, CD-player) potrafi
>> odtworzyć sygnał 1 MHz z płyty? Nie potrafi. Bo właśnie twierdzenie na które
>> się pan powołujesz, a którego zwyczajnie nie rozumiesz pan, to określa. Nie
>> da się określić tego, co jest między samplami. Nawet jeżeli tam byłby strzał
>> z fazerów.
>
>No ale nie przeginajmy. Wspomniane twierdzenie mówi, że sygnał
>oryginalny w pewnych warunkach DA się jednoznacznie odtworzyć z próbek.
>Jeśli sygnał ma ograniczone widmo i próbkujemy odpowiednio często, to
>jaki problem?
Zapytaj "slawka"
A.L.