Naloge Numpy - Računanje PI

V programih, ki jih boš pisal(a), ne uporabljaj nobenih zank v Pythonu, temveč vedno, ko te zamika narediti zanko, uporabi ustrezno funkcijo v numpy-ju. Vsaka od funkcij na vhod dobi tisto kar vrne funkcija pred njo. Priporočam, da funkcije ne samo napišeš, ampak tudi pokličeš in si izpišeš rezultate. Na tak način boš videl pravi rezultat. Testi naj ti bodo zgolj v oporo.

  1. Numpy ima modul random (torej np.random). V njem so različne funkcije za sestavljanje naključnih matrik. Napiši funkcijo nakljucna_stevila(), ki sestavi in vrne matriko s 1000 vrsticami in 2 stolpcema, ki bo vsebovala naključna števila med 0 in 1.

    Rešitev

    def nakljucna_stevila():
       return np.random.random((1000, 2))
    

  2. Napiši funkcijo raztegni(matrika), ki spremeni matriko iz prejšnje naloge tako, da bodo števila med -1 in 1. (Namig: vsa števila pomnoži z 2 in odštej 1)

    Rešitev

    def raztegni(matrika):
       return (matrika * 2) - 1
    

  3. Predstavljaj si, da vsaka vrstica predstavlja koordinati (x, y) in neke naključne točke. Napiši funkcijo izracunaj_razdaljo(matrika), ki za vsako točko izračuna, kako daleč je od koordinatnega izhodišča (točka (0, 0)). Rezultat bo matrika, ki bo imela 1000 vrstic in 1 stolpec, vsebovala pa bo razdalje.

    Pri tem ne uporabljaj zank v Pythonu. Narediti moraš le tole: skvadriraš oba stolpca, ju sešteješ (tako dobiš en stolpec s 1000 vrsticamim), potem pa izračunaš koren tega stolpca. Če imaš neko matriko a in hočeš izračunati novo, v kateri bodo koreni vseh števil v tej matriki, uporabiš np.sqrt(a).

    Rešitev

    def izracunaj_razdaljo(matrika):
       return np.sqrt(np.sum(matrika ** 2, axis=1))
    

  4. Napiši funkcijo num_manjsih(razdalje), ki prešteje, koliko razdalij je manjših od 1. Za računanje vsote lahko uporabiš np.sum. Rezultat pretvori v float, sicer boš imel(a) nepričakovane in nerazložljive sitnosti v naslednji točki.

    Rešitev

    def num_manjsih(razdalje):
       return np.sum(razdalje < 1).astype(float)
    

  5. Poglej domačo nalogo Računanje pi. Napiši funkcijo izracunaj_pi(num_manjsih, num_vseh), ki prejme število vrednosti, ki so manjše od 1 (rezultat prejšnje funkcije) ter število vseh vrednosti in izračuna koliko je pi.

    Rešitev

    def izracunaj_pi(num_manjsih, num_vseh):
       return num_manjsih / num_vseh * 4
    

Zadnja sprememba: petek, 13. januar 2023, 09.47