Tenologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari


Download 198.28 Kb.
Sana16.06.2023
Hajmi198.28 Kb.
#1494017
Bog'liq
Mubi





O`ZBEKISTON RESPUBLIKASI RAQAMLI
TENOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI SAMARQAND FILIALI
"Kompyuter injiniring" fakulteti
"Dasturiy injiniring" kafedrasi
"Algoritmlarni loyihalash” fanidan

KI 21-15 guruh talabasi
Bajardi: Ruziyeva Maktuba
Qabul qildi: Bobonazarov A.A
SAMARQAND – 2023

1) Amaliy mashg’ulot topshiriqlari 7 Amaliy mashg’ulot topshiriqlari.
Quyidagi funksiyalarni Furye qatorlariga yoyishda a0,a1 va b1 koeffitsentlar qiymatlarini toping. Algortim va dastur tuzing y=cos 2x
Furye qatorlariga o'yish algoritmi bilan `y = cos(2x)` funksiyasining `a0`, `a1`, va `b1` koeffitsentlarini topshirish uchun quyidagi kodni Python tilida ishlatishingiz mumkin:
```python import sympy as sp
# Simvolik o'zgaruvchilar x = sp.symbols('x') n = 1 # Koeffitsentlar soni
# Funksiya f = sp.cos(2 * x)
# a0, a1, va b1 koeffitsentlarini topish a0 = (1 / sp.pi) * sp.integrate(f, (x, -sp.pi, sp.pi)) a_coeffs = [] b_coeffs = []
for i in range(1, n+1):
a_coeff = (1 / sp.pi) * sp.integrate(f * sp.cos(i * x), (x, -sp.pi, sp.pi)) b_coeff = (1 / sp.pi) * sp.integrate(f * sp.sin(i * x), (x, -sp.pi, sp.pi)) a_coeffs.append(a_coeff) b_coeffs.append(b_coeff)
# Natijalarni chiqarish print("a0 =", a0) for i in range(1, n+1):
print("a{} =".format(i), a_coeffs[i-1]) print("b{} =".format(i), b_coeffs[i-1])
```
Bu kodni yuklab olish va ishlatish uchun Python interpreterida Joylashtiring. Natijalar o'zbek tilida ekranga chiqariladi.
Ushbu kod orqali `y = cos(2x)` funksiyasining Furye qatorlariga yoyilganlikdagi `a0`, `a1` va `b1` koeffitsentlarini topasiz. `n` ni istalgan koeffitsentlar soni uchun o'zgartirishingiz mumkin.
8. Amaliy mashg’ulot topshiriqlari
Quyidagi funksiyalarni Furye qatorlariga yoying va yetakchi garmonikalarini aniqlang
Siz `y = cos(2x)` funksiyasining Furye qatorlariga yoyilganlikdagi yetakchi garmonikalarni aniqlashni so'rasangiz, quyidagi kod orqali bajarishingiz mumkin:
```python import sympy as sp import math
# Simvolik o'zgaruvchilar x = sp.symbols('x') n = 5 # Yetakchi garmonikalar soni
# Funksiya f = sp.cos(2 * x)
# Yetakchi garmonikalar harmonics = []
for i in range(1, n+1):
a_coeff = (1 / sp.pi) * sp.integrate(f * sp.cos(i * x), (x, -sp.pi, sp.pi)) b_coeff = (1 / sp.pi) * sp.integrate(f * sp.sin(i * x), (x, -sp.pi, sp.pi)) amplitude = math.sqrt(a_coeff**2 + b_coeff**2) phase = math.atan2(b_coeff, a_coeff) harmonic = (i, amplitude, phase) harmonics.append(harmonic)
# Yetakchi garmonikalarni chiqarish for harmonic in harmonics:
print("Garmonika {}: Amplituda = {}, Faza = {}".format(harmonic[0], harmonic[1], harmonic[2]))
```
Bu kodni Python interpreterida ishlatib, `y = cos(2x)` funksiyasining Furye qatorlariga yoyilganlikdagi yetakchi garmonikalarini topishingiz mumkin. `n` ni istalgan yetakchi garmonikalar soni uchun o'zgartirishingiz mumkin.
Natijalar ekranga o'zbek tilida chiqadi. Har bir yetakchi garmonika uchun amplituda va faza ko'rsatiladi.
9.Amaliy mashg’ulot topshiriqlari. Quyidagi masalalar uchun chiziqli regressiya tenglamasidan (y=ax+b) foydalanib, algoritm va dastur tuzing

Chiziqli regressiya parametrlarini topish uchun eng kichik kvadratlar usulidan foydalanamiz. Quyidagi kod orqali Python tilida koeffitsentlarni topishingiz mumkin:
```python import numpy as np
# Ma'lumotlar x = np.array([0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]) y = np.array([0.4, 0.7, 1.2, 1.7, 1.9, 2.2, 2.6, 3, 3.5, 3.8])
# Matritsani tayyorlash

  1. = np.vstack([x, np.ones(len(x))]).T

  2. = y.reshape(-1, 1)

# Koeffitsentlarni hisoblash coeffs = np.linalg.lstsq(X, Y, rcond=None)[0] k, b = coeffs.flatten()
# G'ildirakning 5.5 yil o'tgandan keyingi gardishning qalinligini hisoblash y_pred = k * 5.5 + b
# Natijalarni chiqarish print("Regressiya koeffitsentlari:") print("k =", k)
print("b =", b) print("G'ildirakning 5.5 yil o'tgandan keyingi gardishning qalinligi:", y_pred, "mm")
```
Kodni yuklab olib, Python interpretterida ishlatib natijalarni olishingiz mumkin.
Natijalar o'zbek tilida chiqadi. `k` va `b` regressiya koeffitsentlari bo'lib, `y = kx + b` formula orqali chiziqli bog'liqlik aniqlanadi. `y_pred` esa 5.5 yil o'tgandan keyingi gardishning qalinligini ifodalaydi.
Download 198.28 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling