2026. június 13., szombat

Tömb- és mátrixműveletek

import numpy as np

# 1. Tömbök létrehozása (1D, 2D)
egy_dimenzios = np.array([1, 2, 3, 4])
ket_dimenzios = np.array([[1, 2, 3], 
                          [4, 5, 6]])

print("2D Mátrix:\n", ket_dimenzios)
print("A mátrix dimenziói:", ket_dimenzios.shape) # (sorok száma, oszlopok száma)

# 2. Mátrix inicializálása nullákkal vagy egyesekkel
nullas_matrix = np.zeros((3, 3)) # 3x3-as nullmátrix
egyes_matrix = np.ones((2, 4))   # 2x4-es egyesekből álló mátrix

# 3. Alapvető mátrixműveletek (Skaláris)
hozzadas = ket_dimenzios + 10    # Minden elemhez hozzáad 10-et
szorzas = ket_dimenzios * 2      # Minden elemet megszoroz 2-vel

# 4. Elem-szintű (element-wise) műveletek két mátrix között
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

osszeadas = a + b    # Elem szerinti összeadás
kivonas = a - b      # Elem szerinti kivonás
elem_szorzas = a * b # Elem szerinti szorzás (Hadamard-szorzat)

# 5. Valódi mátrixszorzás (Dot product)
m_szorzas_1 = np.dot(a, b) # Hagyományos szintaxis
m_szorzas_2 = a @ b        # Modern, átláthatóbb szintaxis

# 6. Transzponálás (sorok és oszlopok cseréje)
transzponalt = a.T

# 7. Determináns és inverz mátrix számítás
# A linalg almodult használjuk lineáris algebrához
determinans = np.linalg.det(a)
inverz = np.linalg.inv(a)

print("\nMátrix A:\n", a)
print("Mátrix B:\n", b)
print("A @ B (Mátrixszorzás):\n", m_szorzas_2)
print("A transzponáltja:\n", transzponalt)
print("A determinánsa:", determinans)

Nincsenek megjegyzések:

Megjegyzés küldése