m=2274;g=9.8;f=0.008;Cd=0.22;A=2.32;r=0.359;at=0.92#汽车参数赋值
ig1=14.49;ig2=8.05;#传动比赋值
q1=1.4;q2=1.15#旋转质量换算系数赋值
u1=0:0.01:120#定义一挡速度范围
Ff1=CdA(u1.^2)/21.15.+mgf#计算行驶阻力
Fw1=CdA(u1.^2)/21.15#计算空气阻力
n1=ig1u1/r/0.377#计算电机转速
P=300#峰值功率赋值
T1=zeros(length(u1))
for i=1:length(u1)#设置循环,求转矩
if n1[i]<6500#转速小于3000r/min时
T1[i]=441;#设置恒转矩
else#转速大于或等于3000r/min时
T1[i]=9550P/n1[i];#计算转矩
end#结束
end#结束
Ft1=T1.ig1at/r#计算驱动力
D1=(Ft1-Fw1)/(mg)#计算动力因数
i1=tan.(asin.(D1.-f.(1 .-D1.^2 .+f.^2).^(1/2))./(1 .+f.^2))180/π#计算爬坡度
a1=(D1.-f)g/q1#计算加速度
u2=0:0.01:230#定义速度范围
Ff2=CdA(u2.^2)/21.15.+mgf#计算行驶阻力
Fw2=CdA(u2.^2)/21.15#计算空气阻力
n2=ig2u2/r/0.377#计算电机转速
T2=zeros(size(u2))
for j=1:length(u2)#设置循环,求转矩
if n2[j]<6500#转速小于3000x/min时
T2[j]=441;#设置恒转矩
else#转速大于或等于3000r/min时
T2[j]=9550P/n2[j];#计算转矩
end#结束
end#结束
Ft2=T2.ig2at/r#计算驱动力
D2=(Ft2-Fw2)/(mg)#计算动力因数
i2=tan.(asin.(D2.-f.(1 .-D2.^2 .+f.^2).^(1/2))./(1 .+f.^2))*180/π#计算爬坡度
a2=(D2.-f)*g/q2#计算加速度
figure(1)#设置图形窗☐1
plot(u1,Ft1,"r",linewidth=1.5);hold(true)#绘制一挡驱动力速度曲线
plot(u2,Ft2,"b",linewidth=1.5,linestyle="--");hold(true)#绘制二挡驱动力速度曲线
plot(u2,Ff2,"k",linewidth=1.5,linestyle="-.")#绘制行驶阻力速度曲线
xlabel("速度/(km/h)")#x轴标注
ylabel("驱动力-行驶阻力/N")#y轴标注
text(20,5500,"一挡驱动力")#驱动力曲线标注
text(20,3000,"二挡驱动力")#驱动力曲线标注
text(20,700,"行驶阻力")#行驶阻力曲线标注
legend(["一挡驱动力","二挡驱动力","行驶阻力"])#图例显示
figure(2)#设置图形窗口2
plot(u1,a1,"r",linewidth=1.5);hold(true)#绘制一挡加速度-速度曲线
plot(u2,a2,"b",linewidth=1.5,linestyle="--")#绘制二挡加速度-速度曲线
xlabel("速度/(km/h)")#x轴标注
ylabel("加速度/(m/s^2)")#y轴标注
text(50,2.5,"一挡加速度")#加速度曲线标注
text(100,1,"二挡加速度")#加速度曲线标注
legend(["一挡加速度","二挡加速度"])#图例显示
figure(3)#设置图形窗口3
plot(u1,i1,"r",linewidth=1.5);hold(true)#绘制一挡爬坡度速度曲线
plot(u2,i2,"b",linewidth=1.5,linestyle="-")#绘制二挡爬坡度速度曲线
xlabel("速度/(km/h)")#x轴标注
ylabel("爬坡度/(°)")#y轴标注
ylim([0,45])
text(50,18,"一挡爬坡度")#爬坡度曲线标注
text(100,6,"二挡爬坡度")#爬坡度曲线标注
legend(["一挡爬坡度","二挡爬坡度"])#图例显示

专栏
标签
高校专区
为什么这个爬坡度图像运行出来是这样的,求解答
一般问题
发布于 2026-04-20 16:05:25
查看 11过去69天
所属专栏:Syslab基础平台
产品信息:科学计算与系统建模仿真平台MWORKS
全部回答 1
发布于 2026-04-20 18:22:20
您好,您的预期效果是怎样的?是文字的标记有问题还是曲线结果不对?
和原帖交流更多问题细节吧,去