运行了一下你的程序,发现2个错误:
1. qs=pe*b(j)/(1.02*ua*8*9.8); 应该把/改为./ 。因为这是一个标量除以一个矩阵。
2. plot(ua,qs,str(i)); 中第三个参数取'l'是不行的,可以改为'b'蓝色。
另外,n=600:0.001:4500;这个数组取的太大了,容易卡死,而且没有必要取到0.001吧。
修改后代码:
ig=[7.31 4.31 2.45 1.54 1];
for i=1:5;
b=[315.5 312.79 309.12 307.9 307.51 306 306.34 310.65 320.34 328.53];
for j=1:10;
n=600:1:4500;
pe=416.172-6.0862*b(j)+0.1372*b(j)^2-0.0012*b(j)^3;
ua=0.377*0.508*n/ig(i)/6.33;
qs=pe*b(j)./(1.02*ua*8*9.8);
str=['g','m','y','c','b'];
plot(ua,qs,str(i));
xlabel('车速Ua/(Km/h)')
ylabel('百公里燃油消耗qs(g/(km.h)')
title('汽车百公里燃油消耗曲线')
grid on
hold on;
end
end