بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۱۵ مهر ۱۴۰۴

شرح برنامه

این برنامه ابتدا مقدار x را دریافت می‌کند، سپس n نقطه به‌صورت جفت‌های (xᵢ, yᵢ) از ورودی می‌گیرد.
با استفاده از فرمول‌های رگرسیون خطی، شیب m و عرض از مبدأ b را محاسبه کرده و معادله خطی y = mx + b را نمایش می‌دهد.


فرمول‌ها:

  • x̄ = (∑xᵢ) / n میانگین x‌ها
  • ȳ = (∑yᵢ) / n میانگین y‌ها
  • ∑xᵢyᵢ = x₁y₁ + x₂y₂ + ... + xₙyₙ
  • ∑xᵢ² = x₁² + x₂² + ... + xₙ²
  • m = (∑xᵢyᵢ - ȳ ∑xᵢ) / (∑xᵢ² - x̄ ∑xᵢ)
  • b = ȳ - m x̄

کد پایتون:


n = int(input("تعداد نقاط را وارد کنید: "))

x_vals = []
y_vals = []

for i in range(n):
    x_i = float(input(f"x[{i+1}] = "))
    y_i = float(input(f"y[{i+1}] = "))
    x_vals.append(x_i)
    y_vals.append(y_i)

sum_x = sum(x_vals)
sum_y = sum(y_vals)
sum_xy = sum(x * y for x, y in zip(x_vals, y_vals))
sum_x2 = sum(x ** 2 for x in x_vals)

x_mean = sum_x / n
y_mean = sum_y / n

m = (sum_xy - y_mean * sum_x) / (sum_x2 - x_mean * sum_x)
b = y_mean - m * x_mean

print(f"معادله خط: y = {round(m, 4)}x + {round(b, 4)}")

نمونه خروجی:


تعداد نقاط را وارد کنید: 3  
x[1] = 1  
y[1] = 2  
x[2] = 2  
y[2] = 3  
x[3] = 3  
y[3] = 5  

معادله خط: y = 1.5x + 0.0

توضیح مراحل:

- ابتدا لیست‌های x و y پر می‌شوند
- مجموع‌ها و میانگین‌ها محاسبه می‌شوند
- با استفاده از فرمول‌های رگرسیون، m و b به‌دست می‌آیند
- معادله نهایی با تقریب چهار رقم اعشار چاپ می‌شود


نوشته و پژوهش شده توسط دکتر شاهین صیامی