問題1 車輛數量估計
題目描述
交通管理部門為了掌握一座橋梁的通行情況,在橋梁的一端每隔一段不等的時間,連續記錄1min內通過橋梁的車輛數量,連續觀測一天24h的通過車輛,車輛資料如下表所示,試建立模型分析估計這一天中總共有多少車輛通過這座橋梁,
python 實作(關鍵程式)
def get_line(xn, yn):
def line(x):
index = -1
# 找出x所在的區間
for i in range(1, len(xn)):
if x <= xn[i]:
index = i - 1
break
else:
i += 1
if index == -1:
return -100
# 插值
result = (x - xn[index + 1]) * yn[index] / float((xn[index] - xn[index + 1])) + (x - xn[index]) * yn[
index + 1] / float((xn[index + 1] - xn[index]))
return result
return line
time = [0, 2, 4, 5, 6, 7, 8,
9, 10.5, 11.5, 12.5, 14, 16, 17,
18, 19, 20, 21, 22, 23, 24]
num = [2, 2, 0, 2, 5, 8, 25,
12, 5, 10, 12, 7, 9, 28,
22, 10, 9, 11, 8, 9, 3]
# 分段線性插值函式
lin = get_line(time, num)
# time_n = np.arange(0, 24, 1/60)
time_n = np.linspace(0, 24, 24*60+1)
num_n = [lin(i) for i in time_n]
sum_num = sum(num_n)
print("估計一天通過的車輛:%d" % sum_num)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/213740.html
標籤:Python
