matlab中%% 驱动力和行驶阻力平衡图 %计算滚动阻力系数,根据汽车理论货车滚动阻力系数公式计算 for j=1:length(i0) %建立主减速比循环层 for k=1:row %建立变速箱循环层 for i=1:length(ig(k,:)) ua(i,:)=0.377*r*n/ig(k,i)/i0(j); end for i=1:length(ig(k,:)) f(i,:)=0.0076+0.000056*(ua(i,:)); end %计算滚动阻力 for i=1:length(ig(k,:)); Ff(i,:)=M*g*f(i,:); end %计算空气阻力 for i=1:length(ig(k,:)); Fw(i,:)=CD*A*(ua(i,:).^2)/21.15; end %计算行驶阻力 for i=1:length(ig(k,:)); F(i,:)=Ff(i,:)+Fw(i,:); end %计算汽车驱动力 for i=1:length(ig(k,:)); Ft(i,:)=Ttq.*ig(k,i).*i0(j)*eta/r; end plot(1); hold on for i=1:length(ig(k,:)); plot(ua(i,:), Ft(i,:),'k'); end hold on xlabel('车速/v(km/h)'); ylabel('驱动力/Ft(KN)'); title('驱动力行驶阻力图'); axis([0 80 0 60000]); i0_cur=i0(j); ig_cur=ig(k,:); fprintf('************************计算结果*****************************\n') fprintf('主减速比为 %4.2f,减速器速比为',i0_cur); disp(ig_cur); %% 动力因数图 for i=1:length(ig(k,:)); D(i,:)= (Ft(i,:)- Fw(i,:))/M/g; end plot(2); hold on for i=1:length(ig(k,:)); plot(ua(i,:), D(i,:),'k'); plot(ua(i,:), f(i,:),'r'); end hold on xlabel('车速v/(km/h)'); ylabel('动力因数'); legend('动力因数','滚动阻力系数f'); title('动力因数图'); axis([0 70 0 5]); end end为什么只输出了一张图
时间: 2023-12-15 11:07:11 浏览: 137
根据你提供的代码,可能是因为你只在循环层中输出了一张图。在第一个循环层中,你只对变速箱进行了循环,并未对主减速比进行循环,所以只输出了一张图。如果你想输出多张驱动力行驶阻力图和动力因数图,需要在主减速比循环层中添加循环,如下所示:
```matlab
for j=1:length(i0) %建立主减速比循环层
for m=1:length(ig) %添加对速比的循环
for k=1:row %建立变速箱循环层
for i=1:length(ig(k,:))
ua(i,:)=0.377*r*n/ig(k,i)/i0(j);
end
for i=1:length(ig(k,:))
f(i,:)=0.0076+0.000056*(ua(i,:));
end
%计算滚动阻力
for i=1:length(ig(k,:));
Ff(i,:)=M*g*f(i,:);
end
%计算空气阻力
for i=1:length(ig(k,:));
Fw(i,:)=CD*A*(ua(i,:).^2)/21.15;
end
%计算行驶阻力
for i=1:length(ig(k,:));
F(i,:)=Ff(i,:)+Fw(i,:);
end
%计算汽车驱动力
for i=1:length(ig(k,:));
Ft(i,:)=Ttq.*ig(k,i).*i0(j)*eta/r;
end
plot(1);
hold on
for i=1:length(ig(k,:));
plot(ua(i,:), Ft(i,:),'k');
end
hold on
xlabel('车速/v(km/h)');
ylabel('驱动力/Ft(KN)');
title('驱动力行驶阻力图');
axis([0 80 0 60000]);
i0_cur=i0(j);
ig_cur=ig(k,:);
fprintf('************************计算结果*****************************\n')
fprintf('主减速比为 %4.2f,减速器速比为',i0_cur);
disp(ig_cur);
%% 动力因数图
for i=1:length(ig(k,:));
D(i,:)= (Ft(i,:)- Fw(i,:))/M/g;
end
plot(2);
hold on
for i=1:length(ig(k,:));
plot(ua(i,:), D(i,:),'k');
plot(ua(i,:), f(i,:),'r');
end
hold on
xlabel('车速v/(km/h)');
ylabel('动力因数');
legend('动力因数','滚动阻力系数f');
title('动力因数图');
axis([0 70 0 5]);
end
end
end
```
这样每个速比下都会输出一张驱动力行驶阻力图和一张动力因数图。
阅读全文