یکی از موضوعات مهم ریاضیات و آمار که کاربرد زیادی در رشتههای مهندسی دارد، مبحث برازش منحنی (Curve Fitting) میباشد.
هدف ما در برازش منحنی آن است که بهترین خط یا منحنی ممکن را از دادههای موجود عبور دهیم. برای آنکه متوجه شویم که بهترین چندجملهای یا منحنی ممکن را انتخاب کردهایم، باید مجموع مربعات باقماندهها حداقل باشد:
.The most common choice is to minimize the sum of squared residuals
معرفی چند تابع:
1- z = polyfit (x, y, n)
این تابع، مقادیر x داده و مقادیر y دادهها را دریافت میکند و سپس یک منحنی درجه n ام از دادهها عبور میدهد به نحوی که بهترین انطباق ممکن را داشته باشد (حداقل مربعات).
2- p = poly1d (z)
یک تابع چند جملهای از ضرایب میسازد.
بررسی یک مثال از مبحث برازش منحنی:
from numpy import *
x = array ([0.0 , 1.0 , 2.0 , 3.0 , 4.0 , 5.0])
y = array ([0.0 , 0.8 , 0.9 , 0.1 , -0.8 , -1.0])
z = polyfit (x, y, 3)
p = poly1d (z)
xs = [ 0.1 * i for i in range (50)]
ys = [p ( x ) for x in xs]
from pylab import *
plot (x, y, 'o', label='data')
plot (xs, ys, label='fitted curve')
ylabel ('y')
xlabel ('x')
show ()