汽车理论习题1.3

3 篇文章 0 订阅
2 篇文章 0 订阅

汽车理论习题1.3

#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import math

#绘制坐标轴以及标明xy轴
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
fig1 = plt.figure(1)
ax1 = fig1.add_subplot(111)
ax1.set(xlim=[0,140], ylim=[0,14000], title='汽车驱动力-行驶阻力平衡图',ylabel='Ft/N,(Ff+Fw)/N', xlabel='Ua/(km/h)')
fig2 = plt.figure(2)
ax2 = fig2.add_subplot(111)
ax2.set(xlim=[0,110], ylim=[0,30], title='汽车的加速度倒数曲线',ylabel='1/a', xlabel='Ua')

#设置汽车相关参数
#主减速器传动比
i0 = 5.81
#传动系机械效率
hT = 0.85
#车轮半径
r = 0.367
#汽车总质量
m=3880
#汽车总重量
G = 38800
#滚动阻力系数
f = 0.013
#空气阻力系数*迎风面积
CdA = 2.77
#汽车轴距
L = 3.2
#汽车质心至前轴距离(满载)
a = 1.947
#汽车质心高(满载)
hg = 0.9

lt1,lt2,lt3,lt4,lt5 = [],[],[],[],[]
ls1,ls2,ls3,ls4,ls5 = [],[],[],[],[]
li1,li2,li3,li4,li5 = [],[],[],[],[]
lq1,lq2,lq3,lq4,lq5 = [],[],[],[],[]

#计算滚动阻力和空气阻力
#滚动阻力
Ff = G*f
#空气阻力
for Ua in range(0,121):
	li2.append(Ua)
	Fw = CdA*Ua**2/21.15
	F = Fw+Ff
	li1.append(F)

#计算不同档位时的驱动力
for j in range(0,5):
	#一档时
	if j == 0:
		ig = 5.522
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			lt1.append(Ua)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			ls1.append(Ft)
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			derta1 = abs(Ft-F)
			li4.append(derta1)
	#二档时
	if j == 1:
		ig = 2.769
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			lt2.append(Ua)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			ls2.append(Ft)	
	#三档时
	if j == 2:
		ig = 1.644
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			lt3.append(Ua)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			ls3.append(Ft)
	#四档时	
	if j == 3:
		ig = 1.00
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			lt4.append(Ua)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			ls4.append(Ft)
	#五档时
	if j == 4:
		ig = 0.793
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			lt5.append(Ua)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			ls5.append(Ft)
			array = np.arange(95,105,0.01)
			lp = array.tolist()
			for Ua in lp:
				Fw = CdA*Ua**2/21.15
				F = Fw+Ff
				derta = abs(F-Ft)
				li3.append(derta)

#求解汽车的最高车速
li3.sort()
derta_min = li3[0]

for n in range(600,4001):
	Ua = (0.377*r*n)/(ig*i0)
	a=n/1000
	Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
	Ft = Tq*ig*i0*hT/r
	for Ua in lp:
		Fw = CdA*Ua**2/21.15
		F = Fw+Ff
		derta = abs(F-Ft)
		while derta == derta_min:
			point_x = Ua
			point_y = CdA*Ua**2/21.15+Ff
			break
		else:
			continue

x = [point_x,point_x]
y = [point_y,0]

#求汽车最大爬坡度
li4.sort()
derta1_max = li4[-1]
alpha_max = math.asin(derta1_max/G)

#计算克服最大爬坡度是所需的最大附着率
i = derta1_max/G
Cφ2 = i/(a/L+hg*i/L)

#计算不同档位时的加速度倒数
for j in range(0,5):
	#一档时
	if j == 0:
		ig = 5.522
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			a1 = (Ft-F)/m
			lq1.append(1/a1)
	#二档时
	if j == 1:
		ig = 2.769
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			a2 = (Ft-F)/m
			lq2.append(1/a2)	
	#三档时
	if j == 2:
		ig = 1.644
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			a3 = (Ft-F)/m
			lq3.append(1/a3)
	#四档时	
	if j == 3:
		ig = 1.00
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			a4 = (Ft-F)/m
			lq4.append(1/a4)
	#五档时
	if j == 4:
		ig = 0.793
		for n in range(600,4001):
			Ua = (0.377*r*n)/(ig*i0)
			a=n/1000
			Tq = -19.313+295.27*a-165.44*a**2+40.874*a**3-3.8445*a**4
			Ft = Tq*ig*i0*hT/r
			Fw = CdA*Ua**2/21.15
			F = Fw+Ff
			if F <= Ft:
				a5 = (Ft-F)/m
				lq5.append(1/a5)
				li5.append(Ua)
			else:
				break

#计算加速时间
sum = 0
for n in range(0,len(lq2)-1):
	sum = sum+lq2[n]*(lt2[n+1]-lt2[n])
for n in range(0,len(lq3)-1):
	if lt3[n] >= lt2[-1]:
		sum = sum+lq3[n]*(lt3[n+1]-lt3[n])
	else:
		continue
for n in range(0,len(lq4)-1):
	if lt4[n] >= lt3[-1] and lt4[n] <= 70:
		sum = sum+lq4[n]*(lt4[n+1]-lt4[n])
	else:
		continue

print("汽车最高车速为:{:.2f}km/h".format(point_x))
print("汽车最大爬坡度为:{:.2f}".format(alpha_max))
print("汽车克服最大爬坡度时所需的附着率为:{:.2f}".format(2))
print("2档起步加速行驶至70km/h的加速时间为:{:.2f}".format(sum))

#绘制汽车驱动力-行驶阻力平衡图	
ax1.plot(lt1,ls1,label='Ft1',color = 'k')
ax1.plot(lt2,ls2,label='Ft2',color = 'k')
ax1.plot(lt3,ls3,label='Ft3',color = 'k')
ax1.plot(lt4,ls4,label='Ft4',color = 'k')
ax1.plot(lt5,ls5,label='Ft5',color = 'k')
ax1.plot(li2,li1,label='Fw+Ff',color = 'y')
ax1.plot(x, y, color='k')

#绘制汽车的加速度倒数曲线
ax2.plot(lt1,lq1,color = 'k')
ax2.plot(lt2,lq2,color = 'k')
ax2.plot(lt3,lq3,color = 'k')
ax2.plot(lt4,lq4,color = 'k')
ax2.plot(li5,lq5,color = 'k')

plt.show()

汽车加速度倒数曲线:
在这里插入图片描述
汽车驱动力-行驶阻力平衡图:
在这里插入图片描述
其他问题答案:
在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 哈工大形式语言与自动机理论MOOC练习题分为两部分:选择题和编程题。选择题主要考察学生对于形式语言与自动机理论的基本概念和知识的掌握程度,题目不考察太深入的细节,大多数都可以在课程的PPT中找到答案。编程题主要考察学生对于自动机的理解和能力的实现,需要学生熟练掌握Python语言的基本语法和知识,并且需要结合课程中讲解的内容,掌握如何用Python实现自动机的构建和分析。 选择题中包括一些比较典型的题目,例如求解最短字符串、判断语言的等价性、求解正则表达式等等。这些题目都是在课程中详细讲解过的,需要学生认真复习PPT中的内容,掌握重点难点,才能对选择题答题有较好的准确率。 编程题中一般不会有太多的代码要求,主要是考查学生如何运用Python语言来实现自动机。例如,求解一个正则表达式的DFA,需要学生熟练掌握正则表达式的基本语法和Python的re模块,以及如何将正则表达式转换为NFA和DFA,并且实现DFA的最小化算法。编程题难度相对选择题会比较高,需要学生对于理论知识的掌握和动手能力有一定的要求,同时也需要学生具备一定的代码思维和分析能力。 综上所述,哈工大形式语言与自动机理论MOOC练习题是一个相对严谨的练习题库,需要学生认真复习课程中的内容,并且结合大量的实践演练,才能够掌握理论知识和动手能力,提高自己的学习水平和能力。 ### 回答2: 哈工大形式语言与自动机理论MOOC练习题是在学习该课程的过程中重要的一环。该课程涵盖了形式语言与自动机理论的基础知识,通过课程练习题的完成,可以帮助学生更好地掌握理论知识,加强对于课程内容的理解。 在完成哈工大形式语言与自动机理论MOOC练习题的过程中,需要掌握一定的逻辑思维能力,以及一定的代码编程能力。题目通常涉及到正则表达式、自动机等相关知识点,需要学生能够灵活运用这些知识点,组织解题思路。 此外,在完成练习题的过程中,还需要学生注重细节和准确性。这些细节可能会影响到最终的解题结果,因此学生需要仔细和认真地完成每一个步骤。 总之,完成哈工大形式语言与自动机理论MOOC练习题是学习该课程不可或缺的一部分,它对于学生掌握理论知识、提高逻辑思维能力、加强编程技能都有重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值