WEiTI PW [2829]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Marcin Poręcki

    musze napisac program ktory wyznacza wartosc liczby PI w oparciu o rozwiazanie problemu igly buffona stosujac metode monte carlo. program powinien umozliwiac sledzenie zbieznosci wynikow (tzn zmiany obliczonej wartosci liczby PI w funkcji N) w tym celu nalezy zapisac w pliku zewnetrznym pary liczb N i N1/N (co pewien krok) a nastepnie zobrazowac zaleznosc wywolujac program gnuplot.

    mam cos takiego:

    #include <stdio>
    #include <stdlib>
    #include <math>
    int main()
    {
    srand(time(0));
    double x1,x2,y1,y2;
    int i,n,suma=0,krok;
    printf("Podaj ilosc prob:");
    scanf("%d",&n);
    printf("Podaj krok:");
    scanf("%d",&krok);
    for (i=0;i<n>=0 && x2<32.0){suma++;}
    }
    printf("\n**************%d**** *********\n",suma);
    printf("****%f",(double)(2*n)/ (suma));
    system("pause");
    return 0;
    }

    a za cholere nie wiem co z tym dalej zrobic...
  • Tadeo

    Nic dziwnego, skoro tutaj jest dokładnie nic. A w każdym razie nic na temat.

    Czego nie wiesz jak zrobić?
  • Marcin Poręcki

    nie wiem jak zrobic caly ten program, a jestem zielony z programowania...
  • megablasta von bigshoot'a

    a musi to być C ? jeśli dobrze z wiki rozumiem, to mniej więcej wygląda to tak (Python):

    import math
    import random
    import sys


    pi = math.pi
    t= int(sys.argv[1])
    l = int(sys.argv[2])
    n= int(sys.argv[3])
    R=0
    for i in range(n):
    teta = random.random()*math.pi/2
    x = random.random()*t/2
    if x<=l/2*math.sin(teta): R+=1
    pi_wyliczone= (2*l*n*1.0)/(t*R*1.0)
    print "wyliczone z igly Buffona pi wynosi: ", pi_wyliczone


    np. jeśli odcinek między liniami= t =10, długość igły l =8, i robimy to dla 200 eksperymentów, to wywołanie w cmd, shellu, będzie wyglądać tak: python igla.py 10 8 200

    to cała istota, można oczywiście robić to wiele razy, dla różnych parametrów. no i zrobienie rysunków, wymagałoby wykonywanie tego kodu wiele razy i składowanie wyników obliczonego pi, czyli powyższą pętlę for dać do kolejnej pętli, i jakąś zmienną-kontener:, czyli

    pi_lista=[]
    for i in range(ile razy liczymy pi):
    powyższa pętla
    pi_wyliczone = ...
    pi_list.append(pi_wyliczone)

    i zrobienie wykresu: http://www.python.rk.edu.pl/w/p/mat...

    jak chcesz (lub musisz; -) ), to przepisz to na C; -) jak coś niezrozumiałe, to wal na prv.

  • bartkiller

    Przy okazji: do wykresów w Pythonie polecam też wypróbować PyX: http://pyx.sourceforge.net/
| |

Studenci Wydziału Elektroniki i Technik Informacyjnych PW. WEiTI to jeden z największych wydzia...



Politechnika Warszawska

  • do
Grona tematyczne:

Fotki

Miejsca grona (4)