كيفية إجراء الاستيفاء الخطي في لغة بايثون (مع مثال)
الاستيفاء الخطي هو عملية تقدير قيمة غير معروفة لدالة بين قيمتين معروفتين.
بمعلومية قيمتين معروفتين (x 1 , y 1 ) و (x 2 , y 2 ) يمكننا تقدير قيمة y لنقطة x باستخدام الصيغة التالية:
ص = ص 1 + (س س 1 )(ص 2 – ص 1 )/(س 2 – س 1 )
يمكننا استخدام بناء الجملة الأساسي التالي لإجراء الاستيفاء الخطي في بايثون:
import scipy. interpolate y_interp = scipy. interpolate . interp1d (x,y) #find y-value associated with x-value of 13 print (y_interp( 13 ))
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: الاستيفاء الخطي في بايثون
لنفترض أن لدينا القائمتين التاليتين من القيم في بايثون:
x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]
يمكننا إنشاء مخطط سريع لـ x مقابل y:
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
لنفترض الآن أننا نريد العثور على قيمة y المرتبطة بقيمة x الجديدة البالغة 13 .
يمكننا استخدام الكود التالي للقيام بذلك:
import scipy. interpolate
y_interp = scipy. interpolate . interp1d (x,y)
#find y-value associated with x-value of 13
print (y_interp( 13 ))
33.5
وتبين أن قيمة y المقدرة هي 33.5 .
إذا أضفنا النقطة (13، 33.5) إلى مخططنا، فيبدو أنها تتطابق مع الدالة جيدًا:
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
#add estimated y-value to plot
plt. plot (13, 33.5, ' ro ')
يمكننا استخدام هذه الصيغة الدقيقة لإجراء الاستيفاء الخطي لأي قيمة x جديدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في بايثون:
كيفية إصلاح KeyError في الباندا
كيفية الإصلاح: خطأ القيمة: غير قادر على تحويل float NaN إلى int
كيفية الإصلاح: خطأ في القيمة: لا يمكن بث المعاملات بالأشكال