Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Halliwell
Člen
Avatar
Halliwell:23.1.2017 14:32

Ahoj,
potřeboval bych poradit s programováním v Pythonu. Dostali jsme za úkol naprogramovat numerickou integraci pomocí lichoběžníkové a Simpsonovi metody. V programování nejsem moc zdatný a proto žádám o pomoc zde. Doufám, že se najde nějaká duše, která tomu alespoň trochu rozumí a je ochotna pomoci. Předem mému zachránci děkuji.

 
Odpovědět
23.1.2017 14:32
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Halliwell
gcx11:23.1.2017 20:25

Ahoj, co tohle?
http://www.itnetwork.cz/…ikova-metoda

Co už máš naprogramované?

Editováno 23.1.2017 20:27
 
Nahoru Odpovědět
23.1.2017 20:25
Avatar
Halliwell
Člen
Avatar
Odpovídá na gcx11
Halliwell:24.1.2017 12:15

Ahoj,
na tohle už jsem koukal, ale jelikož neumím přepsat zápis z C# do Pythonu, tak mi to bohužel moc nepomůže, ale jinak děkuji

 
Nahoru Odpovědět
24.1.2017 12:15
Avatar
Odpovídá na Halliwell
Erik Šťastný:24.1.2017 12:20

Hmm, neumíš ctrl-c ctrl-v a umazat pár slov podle toho, že si přečteš pár článků základů C#? :(

 
Nahoru Odpovědět
24.1.2017 12:20
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Halliwell
gcx11:24.1.2017 14:17

Dobře.

Jak má vypadat vstup/výstup programu?
Pokud to bude funkce, bude lineární? Dostaneš body nebo přepis funkce?

 
Nahoru Odpovědět
24.1.2017 14:17
Avatar
Halliwell
Člen
Avatar
Halliwell:26.1.2017 13:06

Ahoj,
zadání vstupních hodnot, takže asi, aby si člověk mohl zadat vlastní fci a začátek a konec integrace, textové menu obsahující možnost vybrat si mezi metodami a možnost ukončit program, ošetření vstupů pomocí výjimek, ale bude mi stačit nějaký základ pro nějakou fci a pak si to snad nějak upravím, ale já totiž vůbec nevím jak to zadat, aby mi to vypočítalo, z toho co je zde na netu v C to moc nechápu, co k čemu je, prostě v tomhle nevynikám a snažím se to co nejvíce obejít, ale bohužel jsem na internetu nic nenašel, než to co je v tom C.

 
Nahoru Odpovědět
26.1.2017 13:06
Avatar
Halliwell
Člen
Avatar
Odpovídá na gcx11
Halliwell:27.1.2017 13:53

Děkuji, jsi moc ochotný, kdybych měl nějakého známého, tak to sem ani nepíšu, ale prostě nikoho neznám, kdo by mi s tím pomohl a jsem rád, že se najdou tak ochotní lidé, jako jsi ty snad ti takhle popis zadání stačí :).

 
Nahoru Odpovědět
27.1.2017 13:53
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Halliwell
gcx11:28.1.2017 17:40

Ta metoda by mohla vypadat nějak takto:

#!/usr/bin/env python3

def poly(x, *args):
    soucet = 0
    for arg in args:
        soucet = soucet*x + arg
    return soucet

def lichobeznikova_integrace(a, b, casti, *args):
    # args, koeficienty polynomu od nejvyssiho stupne po nejnizsi
    funkcni_hodnoty = []
    krok = (b-a)/casti
    x = a
    while x <= b:
        funkcni_hodnoty.append(poly(x, *args))
        x += krok

    # zkracene
    # soucty = 2*sum(funkcni_hodnoty) - funkcni_hodnoty[0] - funkcni_hodnoty[-1]
    soucty  = 0
    for i in range(len(funkcni_hodnoty)-1):
        soucty  += funkcni_hodnoty[i]+funkcni_hodnoty[i+1]
    return krok/2*soucty

print(lichobeznikova_integrace(0, 3, n, *(1, 0, 0)))

Ještě si najdi algoritmus na simpsonovu metodu, kde pozměníš výpočet.

 
Nahoru Odpovědět
28.1.2017 17:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.