Files
2022-10-27 21:39:38 +02:00

2.9 KiB

Woche 2 - 17.-23. Oktober 2022

Herzlich willkommen zur 2. Woche!

Agenda

  • Struktur
  • Aufwärme
  • Seminaraufgaben 2.x
  • [ ] Besprechung von HA 1.x
In [ ]:
# imports
import os;
import sys; 

# NOTE: need this to force jupyter to reload imports:
for key in list(sys.modules.keys()):
    if key.startswith('src.'):
        del sys.modules[key];

os.chdir(os.path.dirname(_dh[0]));
sys.path.insert(0, os.getcwd());

from src.thirdparty.maths import *;
from src.thirdparty.render import *;

from src.maths.diagrams import *;
from src.maths.sets import *;
from src.widgets import *;

np.random.seed(8007253); # zur Wiederholbarkeit
In [ ]:
# Userinput - Anzahl der Funktionen
fnames   = ['f', 'g', 'h', 'i', 'j'];
setnames = ['X', 'Y', 'Z', 'U', 'V', 'W'];
ctrl = widgets.IntSlider(value=1, description=f'# Funktionen', min=1, max=len(fnames));
display(ctrl);
In [ ]:
# Widget - Mengen und Funktionen
FunctionDiagramWidget(N=ctrl.value, fnames=fnames, setnames=setnames).run();
In [ ]:
# ohne Zufallserzeugung:
X = ['a', 'b', 'c', 'd', 'e'];
Y = [2, 3, 5, 7, 11, 13, 17];
Z = ['α', 'β', 'γ', 'δ'];
f = [('a', 5), ('b', 5), ('c', 17), ('d', 2), ('e', 5)]
g = [(2, 'γ'), (3, 'α'), (5, 'β'), (7, 'δ'), (11, 'β'), (13, 'γ'), (17, 'β')];
comp = Functions(
    Function(name=('f', 'X', 'Y'), domain=X, codomain=Y, fct=f),
    Function(name=('g', 'Y', 'Z'), domain=Y, codomain=Z, fct=g),
);
comp.draw(show_labels=True);