mirror of
https://github.com/szymon-jozef/ZUT-notatki.git
synced 2026-09-07 20:20:39 +02:00
bla
This commit is contained in:
3
uczelnia/2_semestr/matematyka_dyskretna/wykład 18.md
Normal file
3
uczelnia/2_semestr/matematyka_dyskretna/wykład 18.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Permutacją zbioru nazywamy dowolną iniekcję sigma an do an. Zbiór wszystkich permutacji zbioru an oznaczamy Sn z działaniem składania funkcji jest grupą.
|
||||||
|
|
||||||
|
Grupa ma dobre dzialania :D
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
# Spis tematów
|
# Spis tematów
|
||||||
Oto uporządkowana lista tematów, które pojawiają się w przesłanych przez Ciebie notatkach. Zostały one pogrupowane w logiczne kategorie:
|
|
||||||
|
|
||||||
**1. Podstawy rachunku prawdopodobieństwa i zdarzenia losowe**
|
**1. Podstawy rachunku prawdopodobieństwa i zdarzenia losowe**
|
||||||
|
|
||||||
- Przestrzeń zdarzeń elementarnych (Ω) i pojedyncze zdarzenia elementarne (ω)
|
- Przestrzeń zdarzeń elementarnych (Ω) i pojedyncze zdarzenia elementarne (ω)
|
||||||
@@ -289,3 +287,20 @@ $$
|
|||||||
$\chi^2-2.5 e K$, więc na poziomie istotności 0.05 odrzucamy $H_0$
|
$\chi^2-2.5 e K$, więc na poziomie istotności 0.05 odrzucamy $H_0$
|
||||||
|
|
||||||
|
|
||||||
|
# Analiza wariancji
|
||||||
|
Pobieramy próbki
|
||||||
|
$x_{ij}$ j - ty wynik w i-tej próbce
|
||||||
|
Średnia
|
||||||
|
Średnia ogólna – średnia ze wszystkich wyników razem (średnia ważona w grupach)
|
||||||
|
Analiza wariancji opiera się na obserewacji Karla Pearcena – jakbyśmy policzyli sumy kwadratów i odjęli średnią ogólną to rozbijemy to ona mierzy zmienność między próbkami. Suma kwadratów odchyleń według grup (resztkowa suma kwadratów) $= q_G$
|
||||||
|
Suma odchyleń kwadratów między próbami $= q_P$
|
||||||
|
Wszystkie q traktujemy jako realizacje zmiennych losowych Q z indeksem odpowiednim do q.
|
||||||
|
Rozkład fishera snedekora.
|
||||||
|
|
||||||
|
Test Barteletta jednorodności w wariancji w k populacji.
|
||||||
|
Zał:
|
||||||
|
- Jednakowe wariancje
|
||||||
|
- Rozkład normalny
|
||||||
|
|
||||||
|
Test rangowych znaków dla jednej populacji
|
||||||
|
Rangowanie polega na nadawaniu rang wartościom. Przy identycznych wartościach nadajemy średnią artmetyczną rang, które przypadałaby na te wartości.
|
||||||
122
uczelnia/2_semestr/matematyka_stosowana/laby/lab_9.R
Normal file
122
uczelnia/2_semestr/matematyka_stosowana/laby/lab_9.R
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
# zadanie 1
|
||||||
|
|
||||||
|
# a)
|
||||||
|
|
||||||
|
# założenie: normalność rozkładu – test shapiro-wilka
|
||||||
|
|
||||||
|
# hipoteza podstawowa h0 – rozkład wzrostu w populacji mężczyzn jest normalny
|
||||||
|
# hipoteza h1 – nieprawda, że h0
|
||||||
|
|
||||||
|
shapiro.test(Ankieta.M$Wzrost)
|
||||||
|
# Statystyka testowa W = 0.9598, p-value = 0.04048
|
||||||
|
# alpha = 0.01 # poziom istotności
|
||||||
|
# wniosek alpha < p-value, więc na poziomie istotności 0.01 nie ma podstaw do odrzucenia h0, że rozkład wzrostu w populacji mężczyzn jest zgodny z rozkładem normalnym.
|
||||||
|
|
||||||
|
# b)
|
||||||
|
# przedzial ufności dla wartości średniej w populacji (mężczyzn)
|
||||||
|
t.test(Ankieta.M$Wzrost, conf.level = 0.95)
|
||||||
|
# 178.0049 181.6403
|
||||||
|
|
||||||
|
# interpretacja: przedział liczbowy od 178.0049 do 181.6403 z prawdopodobieństwem 0.95 obejmuje nieznaną wartość średnią wzrostu w populacji mężczyzn studiujących na pierwszym roku WI ZUT w Szczecinie w tym roku akademickim (2025/2026)
|
||||||
|
|
||||||
|
t.test(Ankieta.M$Wzrost, conf.level = 0.98)
|
||||||
|
# 177.6509 181.9942
|
||||||
|
|
||||||
|
# ze wzrostem współczynnika ufności poszerza się przedział ufności
|
||||||
|
|
||||||
|
# c)
|
||||||
|
# przedział ufności dla odchylenia standardowego w populacji m.
|
||||||
|
|
||||||
|
przedzial.odchylenie = function(x, uf) {
|
||||||
|
# 1 - a = uf
|
||||||
|
# a = 1 - uf
|
||||||
|
a = 1 - uf
|
||||||
|
n = length(x)
|
||||||
|
ss_z_daszkiem = var(x)
|
||||||
|
# s^2 = (n - 1)/n * ss_z_daszkiem
|
||||||
|
ss = (n - 1)/n * ss_z_daszkiem
|
||||||
|
|
||||||
|
dolna = sqrt((n * ss) / qchisq(1 - (a / 2), n - 1))
|
||||||
|
gorna = sqrt((n * ss) / qchisq(a / 2, n - 1))
|
||||||
|
round(cbind(dolna, gorna), 4)
|
||||||
|
}
|
||||||
|
|
||||||
|
przedzial.odchylenie(Ankieta.M$Wzrost, 0.97)
|
||||||
|
# 5.9801 8.8895
|
||||||
|
|
||||||
|
# interpretacja: przedzial o końcach 5.9801 i 8.8895 [cm] z ufnością 0.97 obejmuje rzeczywistą wartość odchylenia standardowego wzrostu w populacji mężczyzn studiujących na pierwszym roku WI ZUT w Szczecinie w tym roku akademickim.
|
||||||
|
|
||||||
|
# d)
|
||||||
|
# test dla wartości średniej w populacji
|
||||||
|
# hipoteza h0: m = 180
|
||||||
|
# hipoteza h1: m > 180
|
||||||
|
t.test(Ankieta.M$Wzrost, mu = 180, alternative = 'g')
|
||||||
|
# statystyka testowa t = -0.19518, df = 61, p-value = 0.577
|
||||||
|
# alpha = 0.01
|
||||||
|
# alpha < p-value, więc
|
||||||
|
# na poziomie istotności 0.01 nie ma podstaw do odrzucenia hipotezy h0. Nie można zatem potwierdzić hipotezy, że średni wzrost mężczyzn w badanej populacji jest większy niż 180 cm.
|
||||||
|
|
||||||
|
|
||||||
|
# zadanie 2
|
||||||
|
|
||||||
|
table(Ankieta$Sz.średnia)
|
||||||
|
# LO(RM) = 22
|
||||||
|
|
||||||
|
# a)
|
||||||
|
# przedział ufności dla odsetka (wskaźnika struktury, frakcji, procentu, proporcji)
|
||||||
|
prop.test(22, 72, conf.level = 0.98)
|
||||||
|
# 0.1909 0.4489
|
||||||
|
# te końce nie mają jednostek!
|
||||||
|
|
||||||
|
# interpretacja: przedział o końcach 0.1909 i 0.4489 z ufnością 0.98 obejmuje rzeczywistą wartość odsetka osób, które ukończyły LO(RM) w badanej populacji.
|
||||||
|
|
||||||
|
# b)
|
||||||
|
# test dla wskaźnika struktury
|
||||||
|
# hipoteza h0: p = 45%
|
||||||
|
# hipoteza h1: p < 45%
|
||||||
|
prop.test(22, 72, p = 0.45, alternative = 'l')
|
||||||
|
# statystyka testowa – X-squared = 5.5, df = 1, p-value = 0.009508
|
||||||
|
# alpha = 0.05
|
||||||
|
# alpha > p-value, więc
|
||||||
|
# odrzucamy h0
|
||||||
|
|
||||||
|
# Alpha jest większa niż p-value, więc na poziomie istotności 0.05 odrzucamy hipotezę h0 i przyjmujemy h1, zatem odsetek osób, które ukończyły LO(RM) w badanej populacji studentów jest istotnie mniejszy, niż 45%.
|
||||||
|
|
||||||
|
# zadanie 3
|
||||||
|
|
||||||
|
# a)
|
||||||
|
# hipoteza h0: rozkład wagi w populacji kobiet jest normalny
|
||||||
|
# hipotezea h1: rozkład wagi w populacji kobiet nie jest normalny
|
||||||
|
|
||||||
|
shapiro.test(Ankieta.K$Waga)
|
||||||
|
# W = 0.94975, p-value = 0.6656
|
||||||
|
# alpha = 0.05
|
||||||
|
# alpha < p-value, więc
|
||||||
|
# na poziomie istotności 0.05 nie ma podstaw do odrzucenia h0, że rozkład wagi w populacji kobiet jest normalny
|
||||||
|
|
||||||
|
# b)
|
||||||
|
t.test(Ankieta.K$Waga, conf.level = 0.98)
|
||||||
|
# 49.34915 63.85085
|
||||||
|
|
||||||
|
# interpretacja: przedział o końcach 49.34915 i 63.85085 [kg] z ufnością 0.98 zawiera rzeczywistą wartość średniej wagi w populacji wszystkich kobiet studiujących na I roku WI
|
||||||
|
|
||||||
|
# zadanie 4
|
||||||
|
# a)
|
||||||
|
|
||||||
|
table(Ankieta$M.zamieszkania)
|
||||||
|
# akademik = 23
|
||||||
|
prop.test(23, 72, conf.level = 0.995)
|
||||||
|
# 0.1842 0.4918
|
||||||
|
|
||||||
|
# interpretacja: przedział o końcach 0.1842 i 0.4918 z ufnością 0.995 obejmuje rzeczywistą wartość odestka osób, które mieszkają w akademiku podczas studiowania na pierwszym roku kierunku informatyka na WI ZUT w Szczecinie w tym roku akademickim
|
||||||
|
|
||||||
|
# b)
|
||||||
|
# hipoteza h0: p = 0.35
|
||||||
|
# hipoteza h1: p != 0.35
|
||||||
|
prop.test(23, 72, p = 0.35, alternative = 'two.sided')
|
||||||
|
# X-squared = 0.17643, df = 1, p-value = 0.6745
|
||||||
|
# alpha = 0.05
|
||||||
|
# alpha < p-value, więc
|
||||||
|
# odrzucamy h0
|
||||||
|
|
||||||
|
# wniosek: Alpha jest mniejsze, niż p-value, więc nie ma podstaw do odrzucenia h0, że odsetek osób, które mieszkają w akademiku w populacji wszystkich studentów I roku na WI różnie się istotnie od 35%
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
{
|
|
||||||
description = "Środowisko dla ZED SDK (ZED 2i) + Python";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs =
|
|
||||||
{ self, nixpkgs }:
|
|
||||||
let
|
|
||||||
system = "x86_64-linux";
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
devShells.${system}.default =
|
|
||||||
let
|
|
||||||
fhs = pkgs.buildFHSUserEnv {
|
|
||||||
name = "zed-env";
|
|
||||||
targetPkgs =
|
|
||||||
pkgs: with pkgs; [
|
|
||||||
glibc
|
|
||||||
gcc-unwrapped.lib
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
glib
|
|
||||||
zlib
|
|
||||||
binutils
|
|
||||||
pciutils
|
|
||||||
wget
|
|
||||||
libusb1
|
|
||||||
|
|
||||||
libGL
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXext
|
|
||||||
|
|
||||||
cudaPackages.cudatoolkit
|
|
||||||
cudaPackages.cudnn
|
|
||||||
|
|
||||||
(python3.withPackages (
|
|
||||||
ps: with ps; [
|
|
||||||
pip
|
|
||||||
numpy
|
|
||||||
opencv4
|
|
||||||
open3d
|
|
||||||
]
|
|
||||||
))
|
|
||||||
];
|
|
||||||
|
|
||||||
profile = ''
|
|
||||||
export LD_LIBRARY_PATH=/run/opengl-driver/lib:/usr/lib:/usr/lib32:$LD_LIBRARY_PATH
|
|
||||||
export CUDA_PATH=${pkgs.cudaPackages.cudatoolkit}
|
|
||||||
|
|
||||||
export PIP_PREFIX=$(pwd)/.local_pip
|
|
||||||
export PYTHONPATH=$(pwd)/.local_pip/lib/python3.11/site-packages:$PYTHONPATH
|
|
||||||
export PATH=$(pwd)/.local_pip/bin:$PATH
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
fhs.env;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
14
uczelnia/2_semestr/python/laby/9/zad1.py
Normal file
14
uczelnia/2_semestr/python/laby/9/zad1.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
class PowerOfTwo:
|
||||||
|
def __init__(self, exp) -> None:
|
||||||
|
self.exp = exp
|
||||||
|
|
||||||
|
def __call__(self) -> int:
|
||||||
|
result: int = 2**self.exp
|
||||||
|
self.exp += 1
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
power = PowerOfTwo(1)
|
||||||
|
for _ in range(10):
|
||||||
|
print(power())
|
||||||
23
uczelnia/2_semestr/python/laby/9/zad2.py
Normal file
23
uczelnia/2_semestr/python/laby/9/zad2.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
class PowerOfNumber:
|
||||||
|
def __init__(
|
||||||
|
self, number: int, exp: int, min_exp: int = 0, max_exp: int = 10
|
||||||
|
) -> None:
|
||||||
|
self.exp: int = exp
|
||||||
|
self.number: int = number
|
||||||
|
self.min_exp: int = min_exp
|
||||||
|
self.max_exp: int = max_exp
|
||||||
|
|
||||||
|
def __call__(self) -> int | None:
|
||||||
|
if self.min_exp < self.exp < self.max_exp:
|
||||||
|
result: int = self.number**self.exp
|
||||||
|
self.exp += 1
|
||||||
|
return result
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
power = PowerOfNumber(3, 1)
|
||||||
|
for _ in range(20):
|
||||||
|
result: int | None = power()
|
||||||
|
if result:
|
||||||
|
print(result)
|
||||||
11
uczelnia/2_semestr/python/laby/9/zad3.py
Normal file
11
uczelnia/2_semestr/python/laby/9/zad3.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
from typing import Generator
|
||||||
|
|
||||||
|
|
||||||
|
def power_of_number(number: int, min_exp: int = 0, max_exp: int = 10) -> Generator[int]:
|
||||||
|
for i in range(min_exp, max_exp):
|
||||||
|
yield number**i
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
for i in power_of_number(4):
|
||||||
|
print(i)
|
||||||
94
uczelnia/2_semestr/python/laby/9/zad4.py
Normal file
94
uczelnia/2_semestr/python/laby/9/zad4.py
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
from random import randint
|
||||||
|
|
||||||
|
|
||||||
|
class DList:
|
||||||
|
class Element:
|
||||||
|
def __init__(self, value, next=None, prev=None):
|
||||||
|
self.__value = value
|
||||||
|
self.next = next
|
||||||
|
self.prev = prev
|
||||||
|
|
||||||
|
@property
|
||||||
|
def value(self):
|
||||||
|
return self.__value
|
||||||
|
|
||||||
|
def __init__(self, args: list[int]) -> None:
|
||||||
|
self.__root = None
|
||||||
|
self.__end = None
|
||||||
|
for i in args:
|
||||||
|
self.insert(i)
|
||||||
|
|
||||||
|
def insert(self, value: int) -> None:
|
||||||
|
new_element = self.Element(value)
|
||||||
|
|
||||||
|
if self.__root is None:
|
||||||
|
self.__root = new_element
|
||||||
|
self.__end = new_element
|
||||||
|
return
|
||||||
|
|
||||||
|
current = self.__root
|
||||||
|
|
||||||
|
while current is not None and current.value < value:
|
||||||
|
current = current.next
|
||||||
|
|
||||||
|
if current == self.__root:
|
||||||
|
new_element.next = self.__root
|
||||||
|
self.__root.prev = new_element
|
||||||
|
self.__root = new_element
|
||||||
|
elif current is None:
|
||||||
|
new_element.prev = self.__end
|
||||||
|
self.__end.next = new_element
|
||||||
|
self.__end = new_element
|
||||||
|
else:
|
||||||
|
new_element.next = current
|
||||||
|
new_element.prev = current.prev
|
||||||
|
current.prev.next = new_element
|
||||||
|
current.prev = new_element
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
curr = self.__root
|
||||||
|
while curr is not None:
|
||||||
|
yield curr.value # - zwraca generator
|
||||||
|
curr = curr.next
|
||||||
|
|
||||||
|
def __reversed__(self):
|
||||||
|
curr = self.__end
|
||||||
|
while curr is not None:
|
||||||
|
yield curr.value
|
||||||
|
curr = curr.prev
|
||||||
|
|
||||||
|
def __contains__(self, value):
|
||||||
|
current = self.__root
|
||||||
|
while current is not None and current.value < value:
|
||||||
|
current = current.next
|
||||||
|
return current is not None and current.value == value
|
||||||
|
|
||||||
|
|
||||||
|
# - - - - - - - - - - - - - - - - - TESTY - - - - - - - ----------
|
||||||
|
dlista = DList([2, 3, 4, 5])
|
||||||
|
for i in dlista:
|
||||||
|
print(i)
|
||||||
|
print("\n - - - - - - - -\n")
|
||||||
|
|
||||||
|
dlista = DList([8, 10, 9, 13])
|
||||||
|
dlista.insert(7)
|
||||||
|
dlista.insert(12)
|
||||||
|
dlista.insert(15)
|
||||||
|
|
||||||
|
for i in reversed(dlista):
|
||||||
|
print(i)
|
||||||
|
|
||||||
|
print("\n - - - - - - - -\n")
|
||||||
|
print(" Contain 8: ", 8 in dlista)
|
||||||
|
print(" Contain 13: ", 13 in dlista)
|
||||||
|
print(" Contain 15: ", 15 in dlista)
|
||||||
|
print(" Contain 6: ", 6 in dlista)
|
||||||
|
print(" Contain 11: ", 11 in dlista)
|
||||||
|
print(" Contain 17: ", 17 in dlista)
|
||||||
|
|
||||||
|
nowa_lista = DList([])
|
||||||
|
for i in range(1000):
|
||||||
|
nowa_lista.insert(randint(0, 100))
|
||||||
|
|
||||||
|
for i in nowa_lista:
|
||||||
|
print(i)
|
||||||
@@ -15,3 +15,4 @@ rlc sratata
|
|||||||
Czas propagacji na wykresie czasu to przesunięcie zielonej linii.
|
Czas propagacji na wykresie czasu to przesunięcie zielonej linii.
|
||||||
|
|
||||||
Verlilog, jakaś płytka z diodą
|
Verlilog, jakaś płytka z diodą
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user