matematykaszkolna.pl
Objętość kuli, log x z y Katte789: EXCEL Czy jet ktoś w stanie w prosty sposób wytłumaczyć mi jak zrobić poniższe zadania ? 1)przy pomocy metody monte carlo oszacuj wartość objętości kuli o promieniu 1 (6666 losowań). 2) losując 11111 punktów (x,y), sporządź wykres zbioru A={(x,y): logxy?>1}. Z góry dziękuję za odpowiedź emotka
30 lis 22:28
nic niemożliwego: nie wiem spróbuj przeanalizować to mimo ze nie jest objętość kuli i przeniesc to na excel
30 lis 22:41
nic niemożliwego: == Przykład obliczania liczby pi metodą Monte Carlo w języku C++ == <source lang="cpp"> #include <iostream> #include <cmath> #include <ctime> #include <cstdlib> using namespace std; int main() { srand(time(NULL)); //zainicjalizowanie maszyny generujacej liczby losowe int n; int nk = 0; double x,y; float s; cout << "Podaj liczbe losowanych pkt:" << endl; cin >> n; for(int i = 1; i <= n; i++) { x = ((double)rand() / (RANDMAX))*2 − 1; y = ((double)rand() / (RANDMAX))*2 − 1; if(x*x + y*y <= 1) { nk++; } } cout << "Liczba pkt. w kole wynosi: " << nk << endl; cout << "Liczba pkt. w kwadracie wynosi: " << n << endl; s = 4. * nk / n; cout << "Liczba pi wynosi: " << s; } </source> Kategoria:Metody numeryczne Kategoria:Modelowanie statystyczne
30 lis 22:41
Katte789: nic niemożliwego− to mi nie pomagaemotka
30 lis 22:49
nic niemożliwego: z tego na górze na excel : W kolumnie A i B są odpowiednie dane losowe, natomiast resztę formułka tablicowa: Kod: =4*SUMA(JEŻELI(A1:A44442+B1:B44442<1;1;0))/4444 W kolumnach A, B jest funkcja 2*LOS()−1 dlatego ,ze wystarczy na 1 ćwiartce koła wpisanej w kwadrat o boku 1 generować losowo x i y z przedziału od 0 do 1 i sprawdzać czy punkty te mieszczą się w kole o promieniu 1. Później wystarczy obliczyć % punktów w kole do wszystkich punktów i pomnożyć przez 4 ćwiartki. I to jest przybliżenie PI. Im więcej symulacji tym większa dokładność.
30 lis 23:24
nic niemożliwego: Kasiu widzę ,że bardzo Ci zależy emotka Internet już wie !
30 lis 23:27
nic niemożliwego: Dobra mam już algorytm: − Użytkownik podaje r [promień kuli o środku w punkcie (0,0,0)] i n (ilość losowań); − Program losuje n punktów o współrzędnych (x,y,z) zawartych w sześcianie o boku 2r, promieniu r i środku w punkcie (0,0,0); − Program podstawia punkty do wzoru x*x + y*y + z*z =< r*r; − Program wylicza objętość kuli ze wzoru Vk=8*r*r*r*k/n, gdzie Vk − objętość kuli, r − promień, k − ilość punktów zpełniający poprzedni wzór, n − ilość wszystkich wylosowanych punktów.
30 lis 23:32
nic niemożliwego: ok to da się zrobić ale nie dzisiaj bo teraz idę oglądnąć BB i spać. Napisz jutro jak się z tym zapoznasz.. To nic niemożliwego.
30 lis 23:34
tom: wpisz w komórki : (numer komórki@wartość do wpisania) A1−promień kuli A2−ilość losowań A3−obliczony promień kuli B1:1 B2:666 B3'=8*B13*SUMA(D)/B2 w komórki od A11 do C676 wklej formułę: =LOS()*2*$B$1−$B$1 w kmórki od D11 do D676 wklej formułę: =JEŻELI(A11*A11+B11*B11+C11*C11<=$B$1*$B$1;1;0) w komórce A3 powinnaś mieć oszacowaną objętość kuli
30 lis 23:59
tom: jeszcze raz, bo edycja nie wyszła: wpisz w komórki : (numer komórki@wartość do wpisania) A1@promień kuli A2@ilość losowań A3@obliczony promień kuli B1@1 B2@666 B3@=8*B13*SUMA(D"dwukropek"D)/B2 w B3 zastąp "dwukropek" dwukropkiem emotka w komórki od A11 do C676 wklej formułę =LOS()*2*$B$1−$B$1 w kmórki od D11 do D676 wklej formułę =JEŻELI(A11*A11+B11*B11+C11*C11<=$B$1*$B$1;1;0) w komórce A3 powinnaś mieć oszacowaną objętość kuli
1 gru 00:04
tom: w komórkach D11 do D676 musisz przeciągnąć formułę aby mieć: D11@=JEŻELI(A11*A11+B11*B11+C11*C11<=$B$1*$B$1;1;0) D12@=JEŻELI(A12*A12+B12*B12+C12*C12<=$B$1*$B$1;1;0) D13@=JEŻELI(A13*A13+B13*B13+C13*C13<=$B$1*$B$1;1;0) itd
1 gru 00:08
Katte789: Dzięki chłopaki za pomoc... lecz ja wciąż nie jestem w stanie wykonać tych zadań ! nie wiem jak się do tego zabrać. Moglibyście jeszcze raz powoli mi to wytłumaczyć? krok po kroku, będę wam za to niezmiernie wdzięczna
1 gru 16:14
Katte789: TOM : Przeanalizowałam twoją wersję, lecz mam parę pytań. Proszę odezwij się. Potrzebuję pomocy.
1 gru 16:37
tom: co konkretnie potrzebujesz?
1 gru 16:39
Katte789: 8*B13*SUMA(D)/B2 skąd to jest ?
1 gru 17:57
Katte789: w komórki od A11 do C676 wklej formułę =LOS()*2*$B$1−$B$1 Są to losowe punkty środka kuli ?
1 gru 18:07
tom: popatrz na następny post w pierwszym edycja nie wyszła. Jak tu wklejam dwukropek, to wstawiają się emotka w tej formule powinno być: =8*B13*SUMA(DD)/B2 przy czym, między dwie litery D dodaj dwukropek
1 gru 18:08
Katte789: Tak, rozumiem. Nie wiem skąd jest wzór 8*... − co to jest i z czego wyynika ? Objętość kuli v=4/3 pi r3
1 gru 18:14
tom: Są to losowe punkty środka kuli ? nie środek kulo to punkt (0,0,0) − tak przyjąłem =LOS() losuje liczbę w przedziale od 0 do 1 =LOS()*2*$B$1 losuje liczbę od zera do 2r − w komórce B1 mamy r − tutaj środkiem kuli byłby punkt (1,1,1) =LOS()*2*$B$1−$B$1 losuje liczbę od −r do r (od wylosowanych do 2r odejmujemy r) tutaj już środek kuli jest przesunięty do punku (0,0,0)
1 gru 18:17
tom: rozumiesz metodę monte carlo? jeżeli tak to tłumaczę ostatnie pytanie, jeżeli nie wracamy do podstaw
1 gru 18:18
Katte789: TO co wytłumaczyłeś, rozumiem. emotka możemy dalej emotka
1 gru 18:30
tom: ok, metodę monte carlo stosujesz bo nie znasz wzoru na Objętość kuli v=4/3 pi r3 emotka, natomiast znasz wzór funkcyjny na kulę: x2+x2+z2=r2 więc jedziemy po kolei: 1) aby obliczyć objętość kuli dobieramy sobie sześcian opisany na kuli, którego objętość łatwo policzymy − my w tym zadaniu przyjmujemy sześcian którego środek będzie w punkcie (0,0,0), czyli punkty sześcianu w osiach: x − muszą zawierać się w przedziale (−1,1) y − muszą zawierać się w przedziale (−1,1) z − muszą zawierać się w przedziale (−1,1) automatycznie środek wpisanej w sześcian kuli też będzie w punkcie (0,0,0)
1 gru 18:39
tom: 2) losujemy punkty wewnątrz sześcianu: w kolumnie A losujemy punty z przedziału (−1,1) − przyjmujemy że to jest na osi x, formuła wsześniej omawiana: =LOS()*2*$B$1−$B$1 w kolumnie B losujemy punty z przedziału (−1,1) − przyjmujemy że to jest na osi y, formuła wsześniej omawiana: =LOS()*2*$B$1−$B$1 w kolumnie C losujemy punty z przedziału (−1,1) − przyjmujemy że to jest na osi z, formuła wsześniej omawiana: =LOS()*2*$B$1−$B$1 w kolumnach A,B,C may współrzędne punktu (x,y,z) znajdujących się wewnątrz naszego sześcianu, tworzymy 666 takich punktów w wierszach od 11 do 676
1 gru 18:45
tom: 3) Jak już mamy wylosowane punkty to sprawdzamy czy znajdują się wewnątrz kuli: w kolumnie D mamy formułę sprawdzającą: =JEŻELI(A11*A11+B11*B11+C11*C11<=$B$1*$B$1;1;0) możemy ją również zapisać: =JEŻELI(A112+B112+C112<=$B$12;1;0) ta formuła sprawdza czy wylosowane punkty znajdują się wewnątrz kuli według wzoru: x2+x2+z2=r2 , iksy mamy w kolumnie A, igreki mamy w B, zety mamy w C, r mamy w B1 Wynik formuły: jeżeli sprawdzany punkt znajduje się wewnątrz kuli to w kolumnę D jest wpisywane 1, jeżeli punkt jest poza kulą to w D wpisywane jest 0
1 gru 18:53
Katte789: tak, rozumiem ! emotka
1 gru 18:56
tom: 4) jak już mamy wylosowane i sprawdzone punkty, to liczymy objętość kuli w komórce B3 mamy formułę: =8*B13*SUMA(DD)/B2 możemy ją również zapisać jako: (w zasadzie tak powinniśmy ją zapisać aby liczyć inne promienie kuli) =(2*B13)3*SUMA(DD)/B2 w tej komórce liczymy: a) objętość naszego sześcianu: 8*B13 lub (2*B13)3 − dla promienia 1 będzie to samo, dla innego promienia musi być (2*B13)3 b) mnożymy objętość sześcianu razy ilość wylosowanych punktów które były wewnątrz kuli *SUMA(DD) − czyli sumujemy kolumnę D i mnożymy objętość sześcianu c) iloczyn objętości sześcianu i sumy punktów wewnątrz kuli dzielimy przez wszystkie wylosowane punkty Ostatecznie Objętość sześcianu pomniejszamy proporcjonalnie o punkty które nie trafiły w wnętrze kuli i otrzymujemy szacunkową objętość kuli
1 gru 19:04
Katte789: Dziękuję bardzo za poświęcony mi czas ! jesteś wielki !
1 gru 19:18
Katte789: Tom ! Powiedz mi jeszcze jak wylosować dowolny punkt ( odnośnie tego logarytmu ). emotka
1 gru 19:29
tom: co oznacza ten pytajnik po logarytmie? logxy?>1
1 gru 19:40
Katte789: Treść zadania: Losując 22222 punktów (x,y), sporządź wykres zbioru A={(x,y): logxy<2. Sorry ! błąd w treści emotka Pomożesz mi ?
1 gru 20:06
Katte789: btw log o podstawie x z y
1 gru 20:07
tom: rozumiem, że chodzi o logarytm dziesiętny
1 gru 20:15
tom: napisz jaka podstawa i z jakiej liczby logarytm ma być mniejszy od 2
1 gru 20:17
Katte789: Nie to nie jest logarytm dziesiętny. Logarytm o podstawie x z y. logx z y
1 gru 20:22
tom: dalej nie wiem jakie jest zadanie. logarytm: loga b =c ma podstawę (a) jest z jakiejś liczby (b) i jest równy czemuś (c) napisz nawet słownie podstawę i z jakiej liczby jest ten logarytm
1 gru 21:33
Katte789: Tom, jeżeli wciąż jesteś w stanie mi pomóc to bardzo proszę Treść zadania: Losując 22222 punktów (x,y), sporządź wykres zbioru A={(x,y): logxy<2.
2 gru 17:27