سایت شخصی صادق سلمانی

ولتست، یادگیری ماشین، پایتون، فرازآوری مصنوعی

سایت شخصی صادق سلمانی

ولتست، یادگیری ماشین، پایتون، فرازآوری مصنوعی

سایت شخصی صادق سلمانی

مطالبی که در این سایت نوشته می‌شود به منزله تخصص من در آن‌ها نمی‌باشد، بلکه صرفاً آغازی است در مسیری طولانی برای یادگیری بهتر و عمیق‌تر.

آخرین نظرات

پایتون: برازش منحنی (Curve Fitting)

شنبه, ۴ شهریور ۱۳۹۶، ۰۸:۳۶ ق.ظ

یکی از موضوعات مهم ریاضیات و آمار که کاربرد زیادی در رشته‌های مهندسی دارد، مبحث برازش منحنی (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 ()


نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی