求MATLAB高手帮忙修改程序!!!我不知道错在哪里了,但是这个程序运行不出来。解答出来,再给200分
clear
n=[0:10:6000];
if 0<n<190;
Tq=19.1;
if 190<n<3000;
Tq=9550*3/n
m=1770;g=9.8;
G=m*g;
nT=0.9;r=0.3075;f=0.015;CDA=1.53;i0=5.8;
ua=0.377*r*n/i0;
ua=[0:0.35:40];
Ff=G*f;
Fw=CDA*ua.^2/21.15;
Pf=Ff*ua/3600;
Pw=Fw.*ua/3600;
Pe0=(Pf+Pw)./nT;
Pe=max(Pe1);
plot (ua,Pe,);
axis([0 50 0 10]);
title('汽车功率平衡图');
xlabel('ua(km/h)');
ylabel('Pe(kw)');
gtext('(Pf+Pw)/et'),gtext('Pe');
追问:
我昨天对程序做了修改,后面的那部分能运行出来了,前面的那个if 0<n<190;
Tq=19.1;
这一段我还是运行不出来,能帮帮我不?谢谢!
我上面已经写得很详细了呀,Tq=9550*3/n 改成 Tq=n'*(9550*3) 试过了吗?
答案:不知道你这段程序的用途,只能帮你改正一下语法上的错误了:
clear
n=0:10:6000;
if 0<n<190;
Tq=19.1;
if 190<n<3000;
Tq=n'*(9550*3); %这里Tq是一个数组,n也是一个数组,是不能像你那样直接除滴~
%这个Tq我瞅着下面的程序也没有用到啊
m=1770;g=9.8;
G=m*g;
nT=0.9;r=0.3075;f=0.015;CDA=1.53;i0=5.8;
ua=0.377*r*n/i0;
ua=0:0.35:40; %楼主这里定义了两遍ua,不知道是什么意思。。。
Ff=G*f;
Fw=CDA*ua.^2/21.15;
Pf=Ff*ua/3600;
Pw=Fw.*ua/3600;
Pe0=(Pf+Pw)./nT;
Pe=max(Pe0);
plot(ua,Pe);
axis([0 50 0 10]);
title('汽车功率平衡图');
xlabel('ua(km/h)');
ylabel('Pe(kw)');
gtext('(Pf+Pw)/et'),gtext('Pe');
%%%两个if对应的end没有写呢
其他:if 0<n<190;改成 if 0<n& n<190
if 190<n<3000;改成 if 190<n& n<3000
plot (ua,Pe,);改成plot (ua,Pe);
if没有end结束。
上一个:matlab这个程序哪出错了,怎么不能运行啊
下一个:matlab,小波图像去噪程序错误,急!!!求解决