Thuta Learning
ရှာဖွေရန်
IntermediateProgrammingbeginner

SciPy Tutorial (Enhanced)

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

🧮 Lesson 50: SciPy Tutorial (Scientific & Mathematical Functions)

1. SciPy ဆိုတာဘာလဲ?

မြန်မာ → SciPy (Scientific Python) ဆိုတာ NumPy အပေါ်မှာ တည်ဆောက်ထားတဲ့ library ဖြစ်ပြီး, mathematics, science, engineering အတွက် အဆင့်မြင့် function တွေကို ပေးထားတယ်။

English → SciPy is a Python library built on NumPy, providing advanced functions for mathematics, science, and engineering.

2. Why Use SciPy?

  • Linear algebra, calculus, optimization, statistics စတဲ့ အဆင့်မြင့်သိပ္ပံတွက်ချက်မှုတွေ လုပ်နိုင်တယ်
  • NumPy array တွေကို အခြေခံပြီး ပိုပြီး အဆင့်မြင့် function တွေ ထပ်ပေါင်းပေးတယ်
  • Data science, AI, Engineering, Physics project တွေမှာ အသုံးများတယ်

3. အကျဉ်းချုပ်

✅ SciPy = NumPy အပေါ်မှာ တည်ဆောက်ထားတဲ့ scientific computing library

✅ Modules → integrate, optimize, linalg, stats, signal

✅ Supports → calculus, optimization, linear algebra, statistics, signal processing

✅ Real-world → Engineering, Physics, Data Science, Machine Learning

python
# ===== 1. SciPy Installation =====
# pip install scipy
import numpy as np
from scipy import integrate, optimize, linalg, stats, signal

# ===== 2. Integration (Calculus) =====
print("===== Integration =====")

# f(x) = x^2 ကို 0 မှ 1 အထိ integrate
result, error = integrate.quad(lambda x: x**2, 0, 1)
print(f"∫ x² dx (0 to 1) = {result:.4f}")

# ===== 3. Optimization =====
print(f"\n===== Optimization =====")

# f(x) = x^2 + 2x + 1 ကို minimize
func = lambda x: x[0]**2 + 2*x[0] + 1
result = optimize.minimize(func, [0])
print(f"Minimum at x = {result.x[0]:.4f}")

# ===== 4. Linear Algebra =====
print(f"\n===== Linear Algebra =====")

A = np.array([[3, 2], [1, 4]])
b = np.array([7, 5])
x = linalg.solve(A, b)
print(f"Solution: {x}")

# ===== 5. Statistics =====
print(f"\n===== Statistics =====")

data = [2, 4, 4, 4, 5, 5, 7, 9]
print(f"Mean: {np.mean(data)}")
print(f"Median: {np.median(data)}")
mode_result = stats.mode(data, keepdims=True)
print(f"Mode: {mode_result.mode[0]}")
print(f"Std Dev: {np.std(data):.4f}")

# ===== 6. Signal Processing =====
print(f"\n===== Signal Processing =====")

t = np.linspace(0, 1, 500)
sig = np.sin(2 * np.pi * 10 * t)
freq, power = signal.periodogram(sig)
print(f"Frequencies (first 5): {freq[:5]}")

# ===== 7. Use Cases =====
print(f"\n===== Real-World Use Cases =====")
print("✅ Engineering → signal processing, control systems")
print("✅ Physics → calculus, integration, differential equations")
print("✅ Data science → statistics, probability distributions")
print("✅ Machine learning → optimization, linear algebra")
You should see
===== Integration ===== ∫ x² dx (0 to 1) = 0.3333 ===== Optimization ===== Minimum at x = -1.0000 ===== Linear Algebra ===== Solution: [1.8 0.8] ===== Statistics ===== Mean: 5.0 Median: 4.5 Mode: 4 Std Dev: 2.0000 ===== Signal Processing ===== Frequencies (first 5): [0. 2. 4. 6. 8.] ===== Real-World Use Cases ===== ✅ Engineering → signal processing, control systems ✅ Physics → calculus, integration, differential equations ✅ Data science → statistics, probability distributions ✅ Machine learning → optimization, linear algebra
SciPy Tutorial (Enhanced) | Thuta Learning