From: Gik <patatai aol.com>
Subject: Re: Ca3kowanie na kole
zdumiony napisał:
> Użytkownik "Mariusz Hajduk" <logison o2.pl> napisał

>> Aż się prosi przejscie do współrzędnych biegunowych.

> Chyba nawet lepiej

> function f(t:extended):extended;
.....
> begin
> x:=sin(t);
> result:=x*x*sqrt(1-x*x);
> w:=cos(t);
> result:=result*w;
> end;

a może jednak lepiej tak ?
begin
x := sin(t)^2;
result := x*(1-x);
end ;

a jak nie lubisz kwadratów to
x := sin(t) ; x := x*x ;

--
Gik


From: "zdumiony" <zdumiony jestem.pl>
Subject: Re: Ca3kowanie na kole
Użytkownik "Mariusz Hajduk" <logison o2.pl> napisał w wiadomości
news:14c5.00000138.470d6afa newsgate.onet.pl...
> Aż się prosi przejscie do współrzędnych biegunowych.
> Sprawdzałeś ?? I jak to wtedy wychodzi ??

Chyba nawet lepiej
(z drugiej strony sinus i cosinus będą liczone trochę dłużej niż
pierwiastki)
wtedy transformacją będzie x:=sin(t) a wagą cos(t).

Będziemy mieli
function f(t:extended):extended;
var
x: extended;
w: extended;
begin
x:=sin(t);
result:=x*x*sqrt(1-x*x);
w:=cos(t);
result:=result*w;
end;

Dla Romberg(-Pi/2,Pi/2,r)-Pi/8
1 -0.392699081698724
2 -0.392699081698724
3 0.165806278939461
4 -0.011497010152026
5 0.000184147717531
6 -0.000000723747146
7 0.000000000707865
8 -0.000000000000173
9 -0.000000000000000
10 -0.000000000000000

A dla d:=Romberg(ArcSin(1/2),Pi/2,r)-(Pi/24+sqrt(3)/64);
1 -0.157962987767838
2 0.005661629606630
3 -0.000156134566684
4 0.000001083895285
5 -0.000000001881821
6 0.000000000000817
7 -0.000000000000000
8 -0.000000000000000
9 -0.000000000000000
10 -0.000000000000000


From: "zdumiony" <zdumiony jestem.pl>
Subject: =?iso-8859-2?Q?Re:_Ca=B3kowanie_na_kole?=
Użytkownik "Gik" <patatai aol.com> napisał w wiadomości
news:feigo2$ncs$1 nemesis.news.tpi.pl...
> Rozumowanie to( łącznie z tym co opuściłem) jest oczywiście poprawne. Ma
> jednak jedna bardzo istotną wadą : dla każdej innej 'wagi' musimy na nowo
> poszukiwać metody odpowiedniej dla naszej funkcji

Ta metoda działa dla dowolnej funckji g(x) o którą właśnie nam chodzi,
natomiast problem z sqrt(1-x^2) pojawia się gdy chcemy scałkować funkcję
dwóch zmiennych g(x,y) na kole


Serwery


From: "zdumiony" <zdumiony jestem.pl>
Subject: =?iso-8859-2?Q?Re:_Ca=B3kowanie_na_kole?=
Użytkownik "Gik" <patatai aol.com> napisał w wiadomości
news:feigo2$ncs$1 nemesis.news.tpi.pl...
> No właśnie. To właśnie powoduje, że autor ( ten książkowy) przygotował
> sobie 'chłopca do bicia'. Przykład właśnie wymaga zmiennego kroku
> całkowania. Uprzedzę że dalsze rozważania o uzmnienieniu kroku całkowania
> są OK

Jaki książkowy? Oczywiście że funkcja inna niż sqrt(1-x^2) będzie wymagała
innego przekształcenia, w szczególności, jeśli problem z funckją będzie
polegał na tym że będzie ona osiągać niegraniczone wartości (a nie tylko
jej pochodna) to nie zadziała sposób ze "zwężaniem" i "rozciąganiem" osi X.
Jednak ta funkcja sqrt(1-x^2) jest znacząca, bo pojawia się gdy chcemy
scałkowac dwuwymiarowo po kole; właśnie ten problem pojawił się gdy chciałem
scąłkowac po kole, a nie gdy szukałem funkcji która będzie trudno całkowana


From: "bim-bom" <julekmen go2.pl>
Subject: Re: Slepy problem komiwojazera


"bartekLTG" <barSPAMtekltg op.ciach.pl> wrote in message
news:feltbr$d5o$1 news.onet.pl...
>
> Użytkownik "bim-bom" <julekmen go2.pl> napisał w wiadomości
> news:fdtqh0$3vp$1 news.onet.pl...
>
>> wszystkimi miastami? Bardzo prosty algorytm bedzie dzialal w czasie
>> O(n^5) albo O(n^6), ale pewnie sa lepsze. Macie jakies dobre propozycje?
>
> To musi być bardzo skomplikowany algorytm;)
>
>
> n - wierzchołki.
> m - krawedzie.
>
> Na dzień dobry widać, ze jadna ścieżka zadaje nam jedno
> równanie postaci \sum_{przemierzone krawedzie} = laczna dlugosc.
>
> Aby układ równań dał się rozwiazać musimy mieć co najmniej
> m równań. W najgorszym przypadku m~n^2

Zakladamy, ze jest okreslona odleglosc pomiedzy wszystkimi parami miast.
Jesli liczyc, ze odleglosc a->b jest rowna b->a, to macierz odleglosci
bedzie miala (n*n-n)/2 wartosci (czyli nie uwzgledniajac przejsc z miasta x
bezposrednio do miasta x).

>
> Najprostrzy algorytm, chodzisz o jedno miasto, przeszukaj
> graf w wszerz lub w głąb. Zlozonosc (n + m) <= n^2 .

Jak to "chodzisz o jedno miasto"? Napisalem, ze znamy tylko sumy odleglosci
przejscia przez WSZYSTKIE miasta. Jesli Twoje rozumowanie to uwzglednia, to
podaj przyklad, bo nie rozumiem.


From: "rom3k" <rom3k2 wp.pl>
Subject: Re: Jak uzyskac wynik dziesietny w FX-570ES
>
> A probowales Shift->Setup?... MathIO albo LineIO?...
>
> A.L.
>

OK dzieki, o to mi wlasnie chodzilo:)



From: "A.L." <alewando fala2005.com>
Subject: Re: Jak uzyskac wynik dziesietny w FX-570ES
On Thu, 11 Oct 2007 16:20:54 CST, "rom3k" <rom3k2 wp.pl> wrote:

>Witam, pytanie dotyczy kalkulatora FX-570ES CASIO dosc popularny
>taka biala obudowa zapis naturalny, jest jeszcze jego druga wersja z
>bateria slonaczna i sie jakos ineczej nazywa.
>Po wykonaniu dzialania jesli jest taka mozliwosc kalkulator czesto
>podaje mi wynik w postaci ulamka, ementualnie pierwiastka itp...
>a ja chce miec wynik w postaci dziesietnej i za kazdym razem musze
>potem naciskac ANS , Shift ," = " zeby uzyskac zapis dziesietny.
>
>jak sie robi duzo obliczen to jest to troche uciazliwe, czy jest jakis
>sposob
>zeby od razu wynik byl zawsze dziesietny? przeszukalem cala instrukcje ale
>nic nie znalazlem....
>Pozdrawiam
>

A probowales Shift->Setup?... MathIO albo LineIO?...

A.L.


From: =?iso-8859-2?Q?=A3ukasz?= Kalbarczyk <lukaszusun topocztowy.net>
Subject: Re: Re: Re: Matematyka klasa 5 podstawowka
Dnia Thu, 11 Oct 2007 02:30:42 CST, flower napisał(a):

> Użytkownik "Łukasz Kalbarczyk" <lukaszusun topocztowy.net> napisał w
> wiadomości news:1fh6eyet8l4zg$.dlg lukasz.5.waw.pl...
>> Dnia Tue, 9 Oct 2007 17:13:32 CST, Przemyslaw Kwiatkowski napisał(a):
>>
>>> Łukasz Kalbarczyk wrote:
>>>>>> PIERWSZY sklep jest droższy. Złapałem się?
>>>>> Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w
> drugim
>>>>> w odwrotnej kolejności.
>>>>> Proste, nie? W której klasie jest mnożenie i procenty? :-)))
>>>>> P.S. Ja złapałem się na to na V bodajże roku matematyki.
>>>> Bo to jest bardzo podobne do sformułowania problemu
>>>> ,,wzrosła o 10% a potem spadła o 10%''
>>>> i mózg musi przynajmniej moment się zawahać,
>>>> po czym popaść w wielką niepewność :)
>>> No, ale tu jest mnożenie 0,9*1,1. No i o ile jeszcze rozumiem, że można
>>> "od razu" nie widzieć, czy jest to więcej czy mniej niż 1, to chyba
>>> jednak od razu widać, że to nie jest 1...
>> Tak, stąd podświadoma reakcja, że i w tamtym problemie nie jest 1.
> No cóż, wypada tylko pogratulować terminatorom :-)
> A farba czerwona i zielona? Kojarzysz?
> Z puszki farby czerwonej bierzesz łyżeczkę farby i wlewasz ją do takiej
> samej objętości farby zielonej, mieszasz, a potem łyżeczkę mieszanki wlewasz
> z powrotem do czerwonej. Której farby w której - zielonej w czerwonej czy
> czerwonej w zielonej - jest procentowo więcej?
> Też wydaje się idiotycznie proste dopiero jak się zna rozwiązanie.

A to nie jest dokładnie ten sam problem, tylko z większymi łyżeczkami?

--
ŁK (11.10.2007 23:26:46)


From: "rom3k" <rom3k2 wp.pl>
Subject: Jak uzyskac wynik dziesietny w FX-570ES
Witam, pytanie dotyczy kalkulatora FX-570ES CASIO dosc popularny
taka biala obudowa zapis naturalny, jest jeszcze jego druga wersja z
bateria slonaczna i sie jakos ineczej nazywa.
Po wykonaniu dzialania jesli jest taka mozliwosc kalkulator czesto
podaje mi wynik w postaci ulamka, ementualnie pierwiastka itp...
a ja chce miec wynik w postaci dziesietnej i za kazdym razem musze
potem naciskac ANS , Shift ," = " zeby uzyskac zapis dziesietny.

jak sie robi duzo obliczen to jest to troche uciazliwe, czy jest jakis
sposob
zeby od razu wynik byl zawsze dziesietny? przeszukalem cala instrukcje ale
nic nie znalazlem....
Pozdrawiam



From: "bartekLTG" <barSPAMtekltg op.ciach.pl>
Subject: Re: Slepy problem komiwojazera

Użytkownik "bim-bom" <julekmen go2.pl> napisał w wiadomości
news:fdtqh0$3vp$1 news.onet.pl...

> wszystkimi miastami? Bardzo prosty algorytm bedzie dzialal w czasie O(n^5)
> albo O(n^6), ale pewnie sa lepsze. Macie jakies dobre propozycje?

To musi być bardzo skomplikowany algorytm;)


n - wierzchołki.
m - krawedzie.

Na dzień dobry widać, ze jadna ścieżka zadaje nam jedno
równanie postaci \sum_{przemierzone krawedzie} = laczna dlugosc.

Aby układ równań dał się rozwiazać musimy mieć co najmniej
m równań. W najgorszym przypadku m~n^2

Najprostrzy algorytm, chodzisz o jedno miasto, przeszukaj
graf w wszerz lub w głąb. Zlozonosc (n + m) <= n^2 .

pozdr
bartekltg


From: "flower" <flower19737 wp.pl>
Subject: Re: Re: Matematyka klasa 5 podstawowka

Użytkownik "Łukasz Kalbarczyk" <lukaszusun topocztowy.net> napisał w
wiadomości news:1fh6eyet8l4zg$.dlg lukasz.5.waw.pl...
> Dnia Tue, 9 Oct 2007 17:13:32 CST, Przemyslaw Kwiatkowski napisał(a):
>
> > Łukasz Kalbarczyk wrote:
> >>>> PIERWSZY sklep jest droższy. Złapałem się?
> >>> Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w
drugim
> >>> w odwrotnej kolejności.
> >>> Proste, nie? W której klasie jest mnożenie i procenty? :-)))
> >>> P.S. Ja złapałem się na to na V bodajże roku matematyki.
> >> Bo to jest bardzo podobne do sformułowania problemu
> >> ,,wzrosła o 10% a potem spadła o 10%''
> >> i mózg musi przynajmniej moment się zawahać,
> >> po czym popaść w wielką niepewność :)
> > No, ale tu jest mnożenie 0,9*1,1. No i o ile jeszcze rozumiem, że można
> > "od razu" nie widzieć, czy jest to więcej czy mniej niż 1, to chyba
> > jednak od razu widać, że to nie jest 1...
>
> Tak, stąd podświadoma reakcja, że i w tamtym problemie nie jest 1.

No cóż, wypada tylko pogratulować terminatorom :-)

A farba czerwona i zielona? Kojarzysz?
Z puszki farby czerwonej bierzesz łyżeczkę farby i wlewasz ją do takiej
samej objętości farby zielonej, mieszasz, a potem łyżeczkę mieszanki wlewasz
z powrotem do czerwonej. Której farby w której - zielonej w czerwonej czy
czerwonej w zielonej - jest procentowo więcej?

Też wydaje się idiotycznie proste dopiero jak się zna rozwiązanie.

--
"Żałuj za dowcipy, synu!"
Tytus, Romek i A'Tomek, ks. VIII



From: "A.L." <alewando fala2005.com>
Subject: Re: Slepy problem komiwojazera
On Tue, 2 Oct 2007 12:24:29 CST, "bim-bom" <julekmen go2.pl> wrote:
tzn. okreslic macierz odleglosci miedzy
>wszystkimi miastami? Bardzo prosty algorytm bedzie dzialal w czasie O(n^5)
>albo O(n^6), ...

Skad sie to wzielo?...

A.LL


Kosmetyki - sklep internetowy


From: "Mariusz Hajduk" <logison o2.pl>
Subject: Re: =?ISO-8859-1?Q?Ca=B3kowanie?= na kole
[ciach]

Aż się prosi przejscie do współrzędnych biegunowych.
Sprawdzałeś ?? I jak to wtedy wychodzi ??

MH

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


From: "bim-bom" <julekmen go2.pl>
Subject: Re: Slepy problem komiwojazera


"Krzysztof Nowak" <ksnowak priv.onet.pl> wrote in message
news:fegm40$3r0$1 news.onet.pl...
> Witam, a dlugosci jakich dokladnie sciezek zna slepy komiwojazer?
> Jak na razie to albo problem jest trywialny, albo nie ma rozwiązania.

Zna sumę długości danego sposobu przejścia przez wszystkie miasta.
Ty mozesz podac, jaka konkretnie sciezke wybierasz i dostajesz odpowiedz,
jaka jest jej sumaryczna dlugosc. Mozesz to robic wiele razy. Biorac pod
uwage, ze czas obliczenia dlugosci calej sciezki jest proporcjonalny do
ilosci miast, jaka zlozonosc czasowa bedzie mial algorytm podajacy macierz
odleglosci miedzy miastami?


From: Gik <patatai aol.com>
Subject: Re: =?ISO-8859-2?Q?Ca=B3kowanie_na_kole?=
zdumiony napisał referat i udostępnił go publicznie.

Mniejsza o to jaki jest udział autora w tym opracowaniu. Istnieje wiele
opisów metod całkowania numerycznego, które rozwiązują efektywne jakieś
cząstkowe problemy. Jednym z przykładów jest opis dostarczony przez
'zdumionego'.

Niestety w opracowaniu tym jest wiele uproszczeń.

> Można zauważyć, że nawet gdy użyjemy dobrej metody całkowania jak metodą
> Romberga, to jednak nie będzie dobrej zbieżności; spowodowane jest to
> tym, że dla Y = -1 lub Y = 1 bardzo szybko maleje długość scanlinii i na
> końcach ich pochodna dąży do (minus, plus)nieskończoności

Metoda Romberga nie jest metodą całkowania numerycznego, tylko metodą
iteracyjnego zmniejszenia błędów obliczeń. Metoda zastosowania poniżej
to metoda trapezów z stałym krokiem całkowania z wykorzystaniem metody
Romberga do zmniejszenia błędów całkowania numerycznego

> Problem sprowadza się do całkowania funkcji jednej zmiennej, która na
> krańcach przedziału wykazuje osobliwość pochodnej.
> Mamy scałkować g(x)*sqrt(1-x^2) na przedziale -1,1;

No właśnie. To właśnie powoduje, że autor ( ten książkowy) przygotował
sobie 'chłopca do bicia'. Przykład właśnie wymaga zmiennego kroku
całkowania. Uprzedzę że dalsze rozważania o uzmnienieniu kroku
całkowania są OK

> Musimy coś zrobić z pochodną na krańcach;
> Aby to zrobić transformujemy os X rozciągając i zwężając poziomo, aby
> otrzymać funkcję, która będzie miała ograniczone pochodne w całym
> przedziale; jeden pomysł to funkcja 1-t na przedziale <0;1) i 1+t na
> przedziale (-1;0).......

Rozumowanie to( łącznie z tym co opuściłem) jest oczywiście poprawne. Ma
jednak jedna bardzo istotną wadą : dla każdej innej 'wagi' musimy na
nowo poszukiwać metody odpowiedniej dla naszej funkcji

> Jako przykład weźmiemy g(x) = x^2, czyli całkujemy x^2*sqrt(1-x^2)

> function Romberg(a,b: double;r:integer):real;

> function f(x:real):real;
> begin result:=x*x*sqrt(1-x*x); end;

> Teraz uwzględnijmy transformację - procedura Romberg podaje nam t, z

> Ostatecznie mamy: // dla transformacji funkcji
> function f(t:real):real;
> var x: real; w: real;
> begin x:=sqrt(2-t*t) * t; result:=x*x*sqrt(1-x*x);
> w:=sqrt(2-t*t)-t*t/sqrt(2-t*t); result:=result*w;
> end;

Widzimy tutaj znacznie więcej obliczeń, co dla komputera nie jest
problemem ale na pewno znalezienie tych relacji przez obliczającego jest
jednak czasochłonne
>
> Wtedy rezultaty dla różnych r, liczonych z

Wyniki, które zostały zamieszczone są oczywiście OK. Bo takie miały być.

Ale jaki stąd wniosek?. Czy jest to metoda uniwersalna czy też
szczególny przypadek?

Może więc zdumiony spróbuje nam przedstawić tą metodę dla bardzo
podobnej funkcji i obliczy wartość całki w przedziale od -1 do +1 z funkcji

x^2 / sqrt(1-x^2)

żeby nie było kłopotu z dokładną wartością tej całki od razu powiem, że
wartość tej całki wynosi Pi/2

Aha, dlaczego dla funkcji x^3 sqrt[1-x^2) uzyskujemy dokładną wartość
całki w przedziale -1,+1 bez potrzeby jakieś transformacji i to nawet
dla r=2 ;)

--
Gik


From: =?iso-8859-2?Q?=A3ukasz?= Kalbarczyk <lukaszusun topocztowy.net>
Subject: Re: Re: Matematyka klasa 5 podstawowka
Dnia Tue, 9 Oct 2007 17:13:32 CST, Przemyslaw Kwiatkowski napisał(a):

> Łukasz Kalbarczyk wrote:
>>>> PIERWSZY sklep jest droższy. Złapałem się?
>>> Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w drugim
>>> w odwrotnej kolejności.
>>> Proste, nie? W której klasie jest mnożenie i procenty? :-)))
>>> P.S. Ja złapałem się na to na V bodajże roku matematyki.
>> Bo to jest bardzo podobne do sformułowania problemu
>> ,,wzrosła o 10% a potem spadła o 10%''
>> i mózg musi przynajmniej moment się zawahać,
>> po czym popaść w wielką niepewność :)
> No, ale tu jest mnożenie 0,9*1,1. No i o ile jeszcze rozumiem, że można
> "od razu" nie widzieć, czy jest to więcej czy mniej niż 1, to chyba
> jednak od razu widać, że to nie jest 1...

Tak, stąd podświadoma reakcja, że i w tamtym problemie nie jest 1.

--
ŁK (10.10.2007 10:49:24)


From: =?iso-8859-2?Q?=A3ukasz?= Kalbarczyk <lukaszusun topocztowy.net>
Subject: Re: LICZENIE EKSTREMUM FUNKCJI
Dnia Tue, 9 Oct 2007 04:47:42 CST, Rafał Drobot napisał(a):

> Witam, mam takie zadanie
>
> podpunkt b)
>
> Zbadaj czy funkcja d(x) posiada ekstremum, a jesli tak czy jest to minimum,
> czy maksimum.
>
> d(x) = f(1 + (x/f-x) + (f-x/x)
> d(x) = f( (x/f-x) + (f/x) )

Czy maturzysta mógłby pisać te napisy tak, żeby miały sens :>?
Rozumiem, że f to stała, a nie funkcja -- ot tak, żeby było fajniej,
zatem d(x)=f*(x/f+f/x-x). Oczywiście stała f na początku jest
do niczego niepotrzebna i dla czytelności warto ją chwilowo pominąć
i zająć się x/f+f/x-x.
A może chodzi o f(1+x/(f-x)+(f-x)/x)?
Wtedy do zadanie można rozwiązać niemal w pamięci.
Kładąc y(x)=f/x-1 mamy oczywiście y'(x)=-f/x^2 i do zbadania
funkcję y(x)+1/y(x). Ekstremum może być tylko dla y(x)=+/-1,
bo pochodna y(x) jest stale ujemna, czyli tutaj dla x=f/2.

y(x) w otoczeniu 1/2 jest dodatnie, czy ujemne?
Czy więc jest to minimum, czy maksimum?
Jak to zależy od f?

> W celu obliczenia wartości ekstremalnej liczę pierwszą pochodną funkcji i
> przyrównuję ją do zera.
> d'(x) = f ( [f/(f-x)^2] - (f/x^2) )
> po rozwiązaniu d'(x)=0
> x=f/2
> ====================================
> Moje pytanie tyczy się określenia czy jest to wartość maksymalna czy
> minimalna
> ====================================
> W tym celu należy policzyć 2gą pochodną dla f/2 i sprawdzić czy jest większa
> czy mniejsza od zera (większa - minimum; mniejsza - maksimum)
> (teoretycznie powinno byc to minimum, gdyż jest to część zadania z fizyki, w
> którym jest jeszcze rysunek)
> Mój problem polega na tym, że nie wychodzi mi
> obliczenie 2giej pochodnej.
> (wychodzi dość skomplikowane równanie z (x^-4) między innymi) Mógłby tu ktoś
> napisać mi krok po kroku odpowiedź, abym mógł przeanalizować gdzie popełniam
> błąd?

NIe za bardzo widzę, jak do obliczenia drugiej pochodnej w f/2 trzeba
rozwiązać jakiekolwiek równanie.

--
ŁK (10.10.2007 10:52:09)


From: "zdumiony" <zdumiony jestem.pl>
Subject: =?iso-8859-2?Q?Ca=B3kowanie_na_kole?=
Całkujemy numerycznie funkcję dwóch zmiennych na obszarze koła o środku
(0,0) i promieniu 1. Niech funkcja ta będzie ograniczona i ma ograniczone
pochodne.
Działamy tak, że całkujemy Y od -1 do 1. Wartościami dla y będzie całka
jednej scanlinii czyli poziomego przedziału od -sqrt(1-y^2) do sqrt(1-y^2)
Można zauważyć, że nawet gdy użyjemy dobrej metody całkowania jak metodą
Romberga, to jednak nie będzie dobrej zbieżności; spowodowane jest to tym,
że dla Y = -1 lub Y = 1 bardzo szybko maleje długość scanlinii i na końcach
ich pochodna dąży do (minus, plus)nieskończoności
Problem sprowadza się do całkowania funkcji jednej zmiennej, która na
krańcach przedziału wykazuje osobliwość pochodnej.
Mamy scałkować g(x)*sqrt(1-x^2) na przedziale -1,1;
g(x) - funkcja określona na przedziale dowolnie skomplikowanym wzorem czy
nawet stablicowana i interpolowana; ma warunek aby była ograniczona na
przedziale i miała ograniczone pochodne.
Waga sqrt(1-x^2) powoduje jednak że całkowanie wykazuje małą zbieżność,
ponieważ na krańcach przedziału sqrt(1-x^2) ma nieograniczone pochodne więc
i g(x)*sqrt(1-x^2) ma nieograniczone pochodne.

Musimy coś zrobić z pochodną na krańcach;
Aby to zrobić transformujemy os X rozciągając i zwężając poziomo, aby
otrzymać funkcję, która będzie miała ograniczone pochodne w całym
przedziale; jeden pomysł to funkcja 1-t na przedziale <0;1) i 1+t na
przedziale (-1;0) Jednak oprócz tego że wymagane są dwie funkcje na dwóch
podprzedziałach, nieograniczenie zwężamy os X w punkcie zero, co spowoduje
problemy przy całkowaniu.
Szukamy takiej funkcji, która ma wartość 1 w zerze i w obie strony
jednostajnie się zwęża, ale ma dodatkowy warunek - w zerze ma pochodną równą
zero i w pobliżu zera jej pochodna nie jest nieograniczenie większa od
pochodnej sqrt(1-x^2)
Taki warunek spełnia funkcja 1-t^2 (gdzie t jest osią x po transformacji)
Rozwiązujemy sqrt(1-x^2) = 1-t^2
Rozwiązania według t dla x są
-sqrt(2-t^2)*abs(t) lub sqrt(2-t^2)*abs(t) dla t należącego do (-1,1)
Dla t dodatniego x musi być dodatnie a dla t ujemnego x musi być ujemne
czyli transformacja T(t) = sqrt(2-t^2)*t
Rozwiązania według x dla t są
-sqrt(1-sqrt(1-x^2)) lub t=sqrt(1-sqrt(1-x^2))
Czyli odwrotna transformacja R(x) = -sqrt(1-sqrt(1-x^2)) dla x<0
i sqrt(1-sqrt(1-x^2)) dla x>=0

Jako przykład weźmiemy g(x) = x^2, czyli całkujemy x^2*sqrt(1-x^2)
Na przedziale (-1;1) ma wartość Pi/8 = 0.39269908169872
Na przedziale (1/2;1) ma wartość Pi/24+sqrt(3)/64 = 0.15796298776783

Skorzystajmy z całkowania metodą Romberga na przedziale (a,b), w Delphi:
function Romberg(a,b: double;r:integer):real;
const
rmax = 31;//max for signed int64
var
h0,h,h2,x: real;
Iarr: array[0..1,0..rmax-1] of real;
temp_sum: real;
i,j,j_1: integer;
exp_2: integer;
exp_4,exp_4_1: int64;
begin
result := 0;
if r>rmax then raise exception.Create('Romberg: r parameter too big');
exp_2 := 1;
exp_4 := 1;
h0 := b-a;
h := h0;
Iarr[0,0] := h*(f(a)+f(b))/2.0;
for i:=1 to r-1 do
begin
temp_sum := 0.0;
exp_2 := exp_2 shl 1;
h := h0/exp_2;
h2 := h+h;
j := 1;
x := a+h;
while j<exp_2 do
begin
temp_sum := temp_sum + f({a+j*h)}x);
x := x+h2;
inc(j,2)
end;
Iarr[0,i] := Iarr[0,i-1] * 0.5 + temp_sum * h;
end;
for j:=1 to r-1 do
begin
exp_4 := exp_4 shl 2;
exp_4_1 := exp_4-1;
j_1 := j-1;
for i:=0 to r-j-1 do
begin
Iarr[j mod 2,i] := (exp_4*Iarr[j_1 mod 2,i+1]
- Iarr[j_1 mod 2,i])/(exp_4_1);
result := Iarr[j mod 2,i]
end;
end;
end;

Najpierw liczymy bez transformacji; wtedy f będzie postaci:
function f(x:real):real;
begin
result:=x*x*sqrt(1-x*x);
end;

Teraz uwzględnijmy transformację - procedura Romberg podaje nam t, z tego
obliczamy x
za pomocą transformacji T(t) = sqrt(2-t^2)*t; mając x możemy obliczyć naszą
wartość
x*x*sqrt(1-x*x); transformacja spowodowała że przy krańcach przedziału
będzie zagęszczenie "słupków" całkowania, co powoduje że należy użyć
funkcji, która będzie zmniejszała ich wagę; jako wagi użyję pochodnej T(t)
T'(t) = sqrt(2-t*t)-t*t/sqrt(2-t*t) i pomnożę przez wynik

Ostatecznie mamy:
function f(t:real):real;
var
x: real;
w: real;
begin
x:=sqrt(2-t*t) * t;
result:=x*x*sqrt(1-x*x);
w:=sqrt(2-t*t)-t*t/sqrt(2-t*t);
result:=result*w;
end;
(uwaga: w celu optymalizacji można jednokrotnie wyliczyć wyrażenie
sqrt(2-t*t), które tu występuje trzykrotnie)


Wtedy rezultaty dla różnych r, liczonych z
for r:=1 to 10 do
writeln(r,' ',Romberg(-1,1,r)-Pi/8:15:15); //powyżej 15 miejsca błędy
zaokrągleń
a)bez transformacji:
1 -0.392699081698724
2 -0.392699081698724
3 -0.084778938130924
4 -0.026444296608318
5 -0.008915896820316
6 -0.003087651304315
7 -0.001081158639064
8 -0.000380469826902
9 -0.000134208797748
10 -0.000047396175662

b)z transformacją
1 -0.392699081698724
2 -0.392699081698724
3 0.136451180514194
4 -0.003331691698791
5 -0.000024669713825
6 -0.000000173015446
7 -0.000000000629977
8 -0.000000000000978
9 -0.000000000000001
10 0.000000000000000

Teraz liczymy na przedziale (1/2;1)
a) bez transformacji używając w pętli:
writeln(r,' ',Romberg(1/2,1,r)-(Pi/24+sqrt(3)/64):15:15);
1 -0.157962987767838
2 -0.015901199149510
3 -0.004634817410605
4 -0.001558172573518
5 -0.000541806511721
6 -0.000190341884640
7 -0.000067113794177
8 -0.000023698915767
9 -0.000008373882403
10 -0.000002959761215

b) z transformacją; tu uwaga - o ile przedtem przedział (-1;1) został
transformowany również na (-1;1) (tak samo bez zmian będzie (-1;0) i (0;1) )
tak teraz do obliczenia przedziału t należy użyć transformacji R
R(x) = -sqrt(1-sqrt(1-x^2)) dla x<0 i sqrt(1-sqrt(1-x^2)) dla x>=0
wtedy będziemy mieli przedział t od sqrt(3)/2-1/2 do 1
writeln(r,' ',Romberg(sqrt(3)/2-1/2,1,r)-(Pi/24+sqrt(3)/64):15:15);
1 -0.157962987767838
2 0.010028273525767
3 -0.000125429942587
4 -0.000000843440424
5 -0.000000002965530
6 -0.000000000005676
7 -0.000000000000005
8 0.000000000000000
9 -0.000000000000001
10 0.000000000000001

W ten sposób można całkować z niewygodną funkcją sqrt(1-x^2), co zwłaszcza
się przydaje gdy chcemy scałkować dwuwymiarowy obszar będący kołem.


From: Przemyslaw Kwiatkowski <micha micha.waw.pl>
Subject: Re: Matematyka klasa 5 podstawowka
Łukasz Kalbarczyk wrote:

>>> PIERWSZY sklep jest droższy. Złapałem się?
>> Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w drugim
>> w odwrotnej kolejności.
>> Proste, nie? W której klasie jest mnożenie i procenty? :-)))
>> P.S. Ja złapałem się na to na V bodajże roku matematyki.
>
> Bo to jest bardzo podobne do sformułowania problemu
> ,,wzrosła o 10% a potem spadła o 10%''
> i mózg musi przynajmniej moment się zawahać,
> po czym popaść w wielką niepewność :)

No, ale tu jest mnożenie 0,9*1,1. No i o ile jeszcze rozumiem, że można
"od razu" nie widzieć, czy jest to więcej czy mniej niż 1, to chyba
jednak od razu widać, że to nie jest 1...

--
MiCHA


From: Krzysztof Nowak <ksnowak priv.onet.pl>
Subject: Re: Slepy problem komiwojazera
Witam, a dlugosci jakich dokladnie sciezek zna slepy komiwojazer?
Jak na razie to albo problem jest trywialny, albo nie ma rozwiązania.

KN
bim-bom pisze:
> Czesc wszystkim!
> Problem komiwojazera to: jest n miast, kazde polozone w jakies
> odleglosci od kazdego z innych. Majac dane odleglosci miedzy miastami,
> trzeba znalezc najkrotsza droge przejscia z miasta x do miasta x
> przechodzac przez wszystkie miasta dokladnie jeden raz.
> Slepy problem komiwojazera to taki, w ktorym nie mamy na wejsciu
> odleglosci miedzy miastami, ale majac dana sciezke przejscia przez
> miasta, mozemy okreslic jej calkowita dlugosc.
> Moj problem jest taki - jak szybko mozna zmienic slepy problem
> komiwojazera w "zwykly" problem komiwojazera, tzn. okreslic macierz
> odleglosci miedzy wszystkimi miastami? Bardzo prosty algorytm bedzie
> dzialal w czasie O(n^5) albo O(n^6), ale pewnie sa lepsze. Macie jakies
> dobre propozycje?
>
> Z gory dzieki.


======================================= Nota moderatora:

Prosimy odpowiadac pod cytowanym postem.


From: Krzysztof Nowak <ksnowak priv.onet.pl>
Subject: Re: Liczby pseudolosowe dowolnej =?ISO-8859-2?Q?d=B3ugo=B6ci?=
Nie widze problemu, wystarczy miec dobry generator ciagow
zero-jednykowych i mozesz sobie wtedy brac liczby losowe jakie tylko chcesz.

KN
Borneq pisze:
> Funkcja random w Delphi jest bardzo szybka - zaledwie jedno mnożenie, a
> drugie gdy chcemy dopasować wynik do przedziału; mimo prostoty ma
> całkiem zadowalająca "losowość".
> Ale ma jedną wadę - otrzymujemy liczbę 32 bitową, a żeby otrzymać
> większą np 128 bitową nie wystarczy 4 razy wygenerować po 32 bity, bo to
> nie będzie prawdziwa 32 bitowa.
> Duże liczby pseudolosowe mogą być potrzebne na przykłąd gdy chcemy
> sprawdzić czy liczba jest pierwsza używając algorytmu probabilistycznego
> Gdzie można znaleźć algorytmy generowania wielkich liczb pseudolosowych
> i testy na ich zachowanie losowe?


======================================= Nota moderatora:

Prosimy odpowiadac pod cytowanym postem.


Kosmetyki - sklep internetowy


From: =?iso-8859-2?Q?=A3ukasz?= Kalbarczyk <lukaszusun topocztowy.net>
Subject: Re: Re: Re: Matematyka klasa 5 podstawowka
Dnia Tue, 9 Oct 2007 04:41:02 CST, flower napisał(a):

> Użytkownik "Antek Laczkowski" <antekL1 nospam.onet.pl> napisał w wiadomości
>> Dnia 05-10-2007 o 11:03:52 flower <flower19737 wp.pl> napisał(a):
>>>> A jeżeli chodzi o intuicję, to bardzo, bardzo wiele osób łapałem ( i
>>>> sam
>>> też
>>> się dałem złapać) na to: w dwóch sklepach był taki sam towar w tej samej
>>> cenie. W jednym ze sklepów zdrożał o 20%, a potem staniał o 10%, a w
>>> drugim
>>> tak samo tylko odwrotnie: najpierw potaniał o 10%, a potem zdrożał o
> 20%.
>>> W którym kosztuje więcej po tych zmianach? Odpowiesz natychmiast?
>> Nie liczę, tylko z intuicji: 10% z dużego przyrostu to więcej, niż 20% z
>> mniejszego.
>> (te liczby, 10, 20 są podobne)
>> PIERWSZY sklep jest droższy. Złapałem się?
> Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w drugim
> w odwrotnej kolejności.
> Proste, nie? W której klasie jest mnożenie i procenty? :-)))
> P.S. Ja złapałem się na to na V bodajże roku matematyki.

Bo to jest bardzo podobne do sformułowania problemu
,,wzrosła o 10% a potem spadła o 10%''
i mózg musi przynajmniej moment się zawahać,
po czym popaść w wielką niepewność :)

--
ŁK (09.10.2007 17:02:11)


From: "Radosław Hofman" <radekh teycom.pl>
Subject: Re: LICZENIE EKSTREMUM FUNKCJI
> Moje pytanie tyczy się określenia czy jest to wartość maksymalna czy
> minimalna
> ====================================
> W tym celu należy policzyć 2gą pochodną dla f/2 i sprawdzić czy jest
> większa
> czy mniejsza od zera (większa - minimum; mniejsza - maksimum)

Użycie drugiej pochodnej to jedna z metod, ale nie jedyna. Pochodna, to nic
innego jak tangens kąta pod jakim przechodziłaby styczna do funkcji w
punkcie x. Wartość wynosi zero, jeżeli styczna byłaby równoległa do osi X,
czyli mielibyśmy ekstremum.

Wystarczy zbadać wartości pierwszej pochodnej wokół ekstremum - po lewej
stronie jest +, a po prawej -, to mamy doczynienia z maksimum, a jeżeli z
lewej -, a z prawej + to minimum... Wersja z II pochodną na mojej maturze
była w zadaniu na celujący :), a funkcja wyglądała tak, że obliczenie tej II
pochodnej było wyjątkowo siermiężne.

Pozdr

Radek Hofman



From: Gik <patatai aol.com>
Subject: Re: Liczby pseudolosowe dowolnej =?ISO-8859-2?Q?d=B3ugo=B6ci?=
Borneq napisał:
> Funkcja random w Delphi jest bardzo szybka - zaledwie jedno mnożenie, a
> drugie gdy chcemy dopasować wynik do przedziału; mimo prostoty ma
> całkiem zadowalająca "losowość".
> Ale ma jedną wadę - otrzymujemy liczbę 32 bitową, a żeby otrzymać
> większą np 128 bitową nie wystarczy 4 razy wygenerować po 32 bity, bo to
> nie będzie prawdziwa 32 bitowa.

hm, 4 bajty(32 b) można połączyć w 128 bity, ale .... nie w Delphi.
Do obliczeń na 128 bitach potrzeba odpowiednich bibliotek.

> Gdzie można znaleźć algorytmy generowania wielkich liczb pseudolosowych
> i testy na ich zachowanie losowe?

Algorytmy generowania i testy dużych liczb losowych nie różnią sie od
tych dla małych liczb ( tylko obliczenia są na liczbach wielobajtowych a
czas generowania/testowania się zwiększa)


--
Gik


From: Gik <patatai aol.com>
Subject: Re: =?ISO-8859-2?Q?Sk=B1d_to_si=EA_wzi=EA=B3o=3F___Z?=
Damian 'legion' Szuberski napisał:
> On 2007-10-09, basia wrote:
>> Jest sobie takie zadanie. http://tiny.pl/1jz6 Mam problem z dojściem do
>> tego skąd się wzięło to co zakreśliłam na czerwono. Jeśli ktoś znajdzie
>> chwilkę czasu będę wdzięczna za wytłumaczenie mi.
> W trzeciej linijce mnożysz licznik i mianownik ostatniego składnika
> przez xy.

Nie. Co z wyrażeniem 1/(x+y)^2 na początku 3 linii ?.
Zadanie zostało błędnie przepisane.

--
Gik

PS do moderatorów. Odnoszę wrażenie, że ostatnio poziom psm zszedł do
poziomu 5 podstawówki i gimnazjum


From: Gik <patatai aol.com>
Subject: Re: Co to za krzywa?
WM napisał:
> Jest podana parametrycznie:
>
> Y(t) = t *cos (t)
> X(t) = t *sin (t)
>
> Czy ma ona swoją nazwę?

Spirala Archimedesa

> Czy da się wyeliminować parametr?

Nie.
Po co?

--
Gik


From: "Damian 'legion' Szuberski" <legion wmid.amu.edu.cutthisjunk.pl>
Subject: Re: =?iso-8859-2?Q?Sk=B1d?= to =?iso-8859-2?Q?si=EA_wzi=EA=B3o=3F?=
On 2007-10-09, basia wrote:
> Jest sobie takie zadanie. http://tiny.pl/1jz6 Mam problem z dojściem do
> tego skąd się wzięło to co zakreśliłam na czerwono. Jeśli ktoś znajdzie
> chwilkę czasu będę wdzięczna za wytłumaczenie mi.
W trzeciej linijce mnożysz licznik i mianownik ostatniego składnika
przez xy.

--
Damian Szuberski


From: "olk" <olkiiWYTNIJTO op.pl>
Subject: statystyka strony lub =?ISO-8859-1?Q?materia=B3y?=
Witam

Czy mógłby ktoś podać jakieś strony o statystyce , takiej na poziomie
politechniki ? trochę szukałem na polskim googlu ale nie wiele tego. Może po
angielsku coś jest ale nie bardzo wiem jak to wpisywać żeby coś znaleść. Albo ma
ktoś ebooki ?

Z góry dzięki za pomoc

Pozdrawiam
olkii

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


From: "flower" <flower19737 wp.pl>
Subject: Re: Re: Matematyka klasa 5 podstawowka
Użytkownik "Antek Laczkowski" <antekL1 nospam.onet.pl> napisał w wiadomości
news:op.tzvrmwac3k4ay3 dom.home.aster.pl...
> Dnia 05-10-2007 o 11:03:52 flower <flower19737 wp.pl> napisał(a):
>
> >> A jeżeli chodzi o intuicję, to bardzo, bardzo wiele osób łapałem ( i
> >> sam
> > też
> > się dałem złapać) na to: w dwóch sklepach był taki sam towar w tej samej
> > cenie. W jednym ze sklepów zdrożał o 20%, a potem staniał o 10%, a w
> > drugim
> > tak samo tylko odwrotnie: najpierw potaniał o 10%, a potem zdrożał o
20%.
> > W którym kosztuje więcej po tych zmianach? Odpowiesz natychmiast?
> >
> Nie liczę, tylko z intuicji: 10% z dużego przyrostu to więcej, niż 20% z
> mniejszego.
> (te liczby, 10, 20 są podobne)
> PIERWSZY sklep jest droższy. Złapałem się?

Ano. W jednym cena została pomnożona przez 1.2 a potem przez 0.9, a w drugim
w odwrotnej kolejności.
Proste, nie? W której klasie jest mnożenie i procenty? :-)))
P.S. Ja złapałem się na to na V bodajże roku matematyki.

--
"Żałuj za dowcipy, synu!"
Tytus, Romek i A'Tomek, ks. VIII



From: "Borneq" <borneq antyspam.hidden.pl>
Subject: =?iso-8859-2?Q?Liczby_pseudolosowe_dowolnej_d=B3ugo=B6ci?=
Funkcja random w Delphi jest bardzo szybka - zaledwie jedno mnożenie, a
drugie gdy chcemy dopasować wynik do przedziału; mimo prostoty ma całkiem
zadowalająca "losowość".
Ale ma jedną wadę - otrzymujemy liczbę 32 bitową, a żeby otrzymać większą np
128 bitową nie wystarczy 4 razy wygenerować po 32 bity, bo to nie będzie
prawdziwa 32 bitowa.
Duże liczby pseudolosowe mogą być potrzebne na przykłąd gdy chcemy sprawdzić
czy liczba jest pierwsza używając algorytmu probabilistycznego
Gdzie można znaleźć algorytmy generowania wielkich liczb pseudolosowych i
testy na ich zachowanie losowe?


następna strona