03.05 汽車驅動力及發動機轉矩曲線在python中擬合

確定汽車的動力性就必須掌握沿汽車行駛方向的作用於汽車的各種外力,即驅動力和行駛阻力,今天我們一起學習一下汽車的驅動力。

汽車的驅動力是由汽車發動機產生的轉矩,經由傳動系傳至驅動輪上產生的。汽車行駛時,作用於驅動輪上的轉矩產生一個對地面的圓周力,地面對驅動輪的反作用力即是驅動汽車的外力,稱為汽車的驅動力,如下圖所示。

汽車驅動力及發動機轉矩曲線在python中擬合


汽車驅動力及發動機轉矩曲線在python中擬合


公式中,為作用於驅動輪的轉矩,r為車輪半徑。

作用於驅動輪上的轉矩是由發動機產生的轉矩經傳動系傳至驅動輪的,所以可以得到

汽車驅動力及發動機轉矩曲線在python中擬合

公式中表示發動機轉矩,表示變速器的傳動比,表示主減速器的傳動比,表示傳動系的機械功率。

在加速過程的不穩定工況下,發動機所能提供的功率比穩定工況時稍有下降,電噴汽油機比化油器汽油機要下降得更多些。在進行動力性評估師,一般沿用穩態工況時發動裡臺架試驗所得到的使用外特性中的功率和轉矩曲線。

為了便於計算,常採用多項式來描述由試驗檯測得的,接近於拋物線的發動機轉矩曲線。主要是由最小二乘法來對數據進行擬合,擬合階數K隨特性曲線而異,一般取值在2至5之間。下面舉一個例子,使用python進行數據處理。一款車,試驗測得的轉矩特性如下:

汽車驅動力及發動機轉矩曲線在python中擬合


在python中輸入以下代碼:

import numpy as np

import matplotlib.pyplot as plt

num1= [1000,1500,2000,2500,3000,3500,3800,4000]

x = np.array(num1)

print('x is :\\n',x)

num2 = [135,147,153,157,147,138,134,126]

y = np.array(num2)

print('y is :\\n',y)

f1 = np.polyfit(x, y, 5)

print('f1 is :\\n',f1)

p1=np.poly1d(f1)

print("p1 is :\\n",p1)

xnew=np.arange(1000,4000,1)

ynew=p1(xnew)

plot1=plt.plot(x,y,'r*',label='original values')

plot2=plt.plot(xnew,ynew,'b',label='polyfit values')

plt.xlabel('n')

plt.ylabel('Ttq')

plt.title('engeneer')

plt.legend()

plt.show()

按F5運行後即可得到以下輸出:

汽車驅動力及發動機轉矩曲線在python中擬合


汽車驅動力及發動機轉矩曲線在python中擬合

輸出結果就包括了發動機轉矩曲線擬合圖像及擬合多項式的係數值。


分享到:


相關文章: