⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvpowerprocessor.m

📁 汽车动力学分析程序。车辆、航空和能动工程方面的通知可以参考
💻 M
📖 第 1 页 / 共 2 页
字号:
            Ft=Tq*ig(k)*i0*nt/r;            plot(Ua,Ft,'b')            fFt=inline('-(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*ig*i0*nt/r','n','ig','i0','nt','r');            [nFtmax,Ftmax]=fminbnd(fFt,min(n),max(n),[],ig(k),i0,nt,r);            text(0.377*r*nFtmax/(ig(k)*i0),-Ftmax,['Ft(',num2str(k),')_{max}=',num2str(-Ftmax),'N'],'Fontsize',8)            hold on             Ff=m*9.8*f;            Fw=CD*A*Ua.^2/21.15;            F=Ff+Fw;            plot(Ua,F,'r')            hold on        end        pPe=inline('-(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4).*n/9550');        [nPemax,Pemax]=fminbnd(pPe,min(n),max(n));        igmax=ig(ignum);        FUamax=inline('(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*igmax*i0*nt/r-CD*A*(0.377*r*n/(igmax*i0))^2/21.15-m*9.8*f'...        ,'n','igmax','i0','nt','r','CD','A','m','f');        [nUamax,F0,exitflag]=fzero(FUamax,nPemax,[],igmax,i0,nt,r,CD,A,m,f);           if  exitflag<0 | nUamax>max(n)                nUamax=nPemax;           end        Uamax=0.377*r*nUamax/(ig(ignum)*i0);        text(Uamax,(-19.313+295.27.*nUamax/1000-165.44.*(nUamax/1000).^2+40.874.*(nUamax/1000).^3-3.8445.*(nUamax/1000).^4)*ig(ignum)*i0*nt/r,['Ua_{max}=',num2str(Uamax),'km/h'],'Fontsize',8)        text(Uamax-20,(-19.313+295.27.*nUamax/1000-165.44.*(nUamax/1000).^2+40.874.*(nUamax/1000).^3-3.8445.*(nUamax/1000).^4)*ig(ignum)*i0*nt/r-500,'Ff+Fw','Fontsize',8)        title('汽车驱动力--行驶阻力平衡图','FontWeight','bold','Fontsize',10)        xlabel('Ua(km/h)','Fontsize',10)        ylabel('Ft(N)','Fontsize',10)        igmin=ig(1);        fFtmax=inline('-(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*igmin*i0*nt/r','n','igmin','i0','nt','r');        [UaFtmax1,Ftmax1]=fminbnd(fFtmax,min(n),max(n),[],igmin,i0,nt,r);        axis([0 Uamax+30 0 -Ftmax1+1000])        hold off     else          if get1==0&get2==1                  for k=1:ignum                Ua=0.377*r*n/(ig(k)*i0);                Ft=Tq*ig(k)*i0*nt/r;                plot(Ua,Ft,'b')                fFt=inline('-polyval(coeff,n)*ig*i0*nt/r','n','coeff','ig','i0','nt','r');               [nFtmax,Ftmax]=fminbnd(fFt,min(n),max(n),[],coeff,ig(k),i0,nt,r);                text(0.377*r*nFtmax/(ig(k)*i0),-Ftmax,['Ft(',num2str(k),')_{max}=',num2str(-Ftmax),'N'],'Fontsize',8)                hold on                 Ff=m*9.8*f;                Fw=CD*A*Ua.^2/21.15;                F=Ff+Fw;                plot(Ua,F,'r')                hold on            end         pPe=inline('-polyval(coeff,n).*n/9550','n','coeff');        [nPemax,Pemax]=fminbnd(pPe,min(n),max(n),[],coeff);         igmax=ig(ignum);         FUamax=inline('polyval(coeff,n)*igmax*i0*nt/r-CD*A*(0.377*r*n/(igmax*i0))^2/21.15-m*9.8*f'...         ,'n','coeff','igmax','i0','nt','r','CD','A','m','f');        [nUamax,F0,exitflag]=fzero(FUamax,nPemax,[],coeff,igmax,i0,nt,r,CD,A,m,f);            if  exitflag<0 | nUamax>max(n)                nUamax=nPemax;            end        Uamax=0.377*r*nUamax/(ig(ignum)*i0);        text(Uamax,polyval(coeff,nUamax)*ig(ignum)*i0*nt/r,['Ua_{max}=',num2str(Uamax),'km/h'],'Fontsize',8)        text(Uamax-20,polyval(coeff,nUamax)*ig(ignum)*i0*nt/r-500,'Ff+Fw','Fontsize',8)        title('汽车驱动力--行驶阻力平衡图','FontWeight','bold','Fontsize',10)        xlabel('Ua(km/h)','Fontsize',10)        ylabel('Ft(N)','Fontsize',10)        igmin=ig(1);        fFtmax=inline('-polyval(coeff,n)*igmin*i0*nt/r','n','coeff','igmin','i0','nt','r');        [UaFtmax1,Ftmax1]=fminbnd(fFtmax,min(n),max(n),[],coeff,igmin,i0,nt,r);        axis([0 Uamax+100 0 -Ftmax1+1000])        hold off         end     end case 3,     if get1==1&get2==0        for l=1:ignum            Ua=0.377*r*n/(ig(l)*i0);            Ft=Tq*ig(l)*i0*nt/r;            Ff=m*9.8*f;            Fw=CD*A*Ua.^2/21.15;            F=Ff+Fw;            deta=1+Iw/(m*r^2)+If*i0^2*nt*ig(l).^2/(m*r^2);            Fa=(Ft-F)/m;            a=Fa/deta;            plot(Ua,a)            na=inline('-(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15-m*9.8*f)/m/(1+Iw/(m*r^2)+If*i0^2*nt*ig^2/(m*r^2)))'...            ,'n','ig','i0','nt','r','CD','A','m','f','Iw','If');           [Uaamax,amax]=fminbnd(na,min(n),max(n),[],ig(l),i0,nt,r,CD,A,m,f,Iw,If);            text(0.377*r*Uaamax/(ig(l)*i0),-amax,['a(',num2str(l),')_{max}=',num2str(-amax),'m/s^2'],'Fontsize',8)            hold on        end    title('汽车行驶加速度曲线','FontWeight','bold','Fontsize',10)    xlabel('Ua(km/h)','Fontsize',10)    ylabel('a(m/s^2)','Fontsize',10)    igmin=ig(1);    namax=inline('-(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15-m*9.8*f)/m/(1+Iw/(m*r^2)+If*i0^2*nt*igmin^2/(m*r^2)))'...    ,'n','igmin','i0','nt','r','CD','A','m','f','Iw','If');    [Uaamax1,amax1]=fminbnd(namax,min(n),max(n),[],igmin,i0,nt,r,CD,A,m,f,Iw,If);    Uaamax2=0.377*r*Uaamax1/(ig(ignum)*i0);    axis([0 Uaamax2+60 0 -amax1+1])    hold off    else        if get1==0&get2==1           for l=1:ignum               Ua=0.377*r*n/(ig(l)*i0);               Ft=Tq*ig(l)*i0*nt/r;               Ff=m*9.8*f;               Fw=CD*A*Ua.^2/21.15;               F=Ff+Fw;               deta=1+Iw/(m*r^2)+If*i0^2*nt*ig(l).^2/(m*r^2);               Fa=(Ft-F)/m;               a=Fa/deta;               plot(Ua,a)               na=inline('-((polyval(coeff,n)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15-m*9.8*f)/m/(1+Iw/(m*r^2)+If*i0^2*nt*ig^2/(m*r^2)))'...               ,'n','coeff','ig','i0','nt','r','CD','A','m','f','Iw','If');              [Uaamax,amax]=fminbnd(na,min(n),max(n),[],coeff,ig(l),i0,nt,r,CD,A,m,f,Iw,If);               text(0.377*r*Uaamax/(ig(l)*i0),-amax,['a(',num2str(l),')_{max}=',num2str(-amax),'m/s^2'],'Fontsize',8)               hold on           end        title('汽车行驶加速度曲线','FontWeight','bold','Fontsize',10)        xlabel('Ua(km/h)','Fontsize',10)        ylabel('a(m/s^2)','Fontsize',10)        igmin=ig(1);        namax=inline('-((polyval(coeff,n)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15-m*9.8*f)/m/(1+Iw/(m*r^2)+If*i0^2*nt*igmin^2/(m*r^2)))'...        ,'n','coeff','igmin','i0','nt','r','CD','A','m','f','Iw','If');       [Uaamax1,amax1]=fminbnd(namax,min(n),max(n),[],coeff,igmin,i0,nt,r,CD,A,m,f,Iw,If);        Uaamax2=0.377*r*Uaamax1/(ig(ignum)*i0);        axis([0 Uaamax2+60 0 -amax1+1])        hold off         end     endcase 4,     if get1==1&get2==0        for kk=1:ignum            Ua=0.377*r*n/(ig(kk)*i0);            Ft=Tq*ig(kk)*i0*nt/r;            Ff=m*9.8*f;            Fw=CD*A*Ua.^2/21.15;            F=Ff+Fw;            i=tan(asin((Ft-F)/(m*9.8)))*100;            plot(Ua,i)            ni=inline('-(tan(asin(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15-m*9.8*f)/(m*9.8)))*100)'...            ,'n','ig','i0','nt','r','CD','A','m','f');           [Uaimax,imax]=fminbnd(ni,min(n),max(n),[],ig(kk),i0,nt,r,CD,A,m,f);            text(0.377*r*Uaimax/(ig(kk)*i0),-imax,['i(',num2str(kk),')_{max}=',num2str(-imax),'%'],'Fontsize',8)            hold on        end     title('汽车爬坡度图','FontWeight','bold','Fontsize',10)     xlabel('Ua(km/h)','Fontsize',10)     ylabel('i(%)','Fontsize',10)     igmin=ig(1);     nimax=inline('-(tan(asin(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15-m*9.8*f)/(m*9.8)))*100)'...     ,'n','igmin','i0','nt','r','CD','A','m','f');    [Uaimax1,imax1]=fminbnd(nimax,min(n),max(n),[],igmin,i0,nt,r,CD,A,m,f);     Uaimax2=0.377*r*Uaimax1/(ig(ignum)*i0);     axis([0 Uaimax2+60 0 -imax1+10])     hold off     else          if get1==0&get2==1            for kk=1:ignum                Ua=0.377*r*n/(ig(kk)*i0);                Ft=Tq*ig(kk)*i0*nt/r;                Ff=m*9.8*f;                Fw=CD*A*Ua.^2/21.15;                F=Ff+Fw;                i=tan(asin((Ft-F)/(m*9.8)))*100;                plot(Ua,i)                ni=inline('-(tan(asin((polyval(coeff,n)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15-m*9.8*f)/(m*9.8)))*100)'...                ,'n','coeff','ig','i0','nt','r','CD','A','m','f');               [Uaimax,imax]=fminbnd(ni,min(n),max(n),[],coeff,ig(kk),i0,nt,r,CD,A,m,f);                text(0.377*r*Uaimax/(ig(kk)*i0),-imax,['i(',num2str(kk),')_{max}=',num2str(-imax),'%'],'Fontsize',8)                hold on            end         title('汽车爬坡度图','FontWeight','bold','Fontsize',10)         xlabel('Ua(km/h)','Fontsize',10)         ylabel('i(%)','Fontsize',10)         igmin=ig(1);         nimax=inline('-(tan(asin((polyval(coeff,n)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15-m*9.8*f)/(m*9.8)))*100)'...         ,'n','coeff','igmin','i0','nt','r','CD','A','m','f');        [Uaimax1,imax1]=fminbnd(nimax,min(n),max(n),[],coeff,igmin,i0,nt,r,CD,A,m,f);         Uaimax2=0.377*r*Uaimax1/(ig(ignum)*i0);         axis([0 Uaimax2+60 0 -imax1+10])         hold off         end      endcase 5,     if get1==1&get2==0        for ll=1:ignum            Ua=0.377*r*n/(ig(ll)*i0);            Ft=Tq*ig(ll)*i0*nt/r;            Fw=CD*A*Ua.^2/21.15;            D=(Ft-Fw)/(m*9.8);            plot(Ua,D)            nD=inline('-(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15)/(m*9.8))'...            ,'n','ig','i0','nt','r','CD','A','m');            [UaDmax,Dmax]=fminbnd(nD,min(n),max(n),[],ig(ll),i0,nt,r,CD,A,m);            text(0.377*r*UaDmax/(ig(ll)*i0),-Dmax,['D(',num2str(ll),')_{max}=',num2str(-Dmax),],'Fontsize',8)            hold on         end     title('汽车动力特性图','FontWeight','bold','Fontsize',10)     xlabel('Ua(km/h)','Fontsize',10)     ylabel('D','Fontsize',10)     igmin=ig(1);     nDmax=inline('-(((-19.313+295.27.*(n/1000)-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15)/(m*9.8))'...     ,'n','igmin','i0','nt','r','CD','A','m');    [UaDmax1,Dmax1]=fminbnd(nDmax,min(n),max(n),[],igmin,i0,nt,r,CD,A,m);     UaDmax2=0.377*r*UaDmax1/(ig(ignum)*i0);     axis([0 UaDmax2+60 0 -Dmax1+0.1])      hold off     else         if get1==0&get2==1            for ll=1:ignum                Ua=0.377*r*n/(ig(ll)*i0);                Ft=Tq*ig(ll)*i0*nt/r;                Fw=CD*A*Ua.^2/21.15;                D=(Ft-Fw)/(m*9.8);                plot(Ua,D)                nD=inline('-((polyval(coeff,n)*ig*i0*nt/r-CD*A*(0.377*r*n/(ig*i0))^2/21.15)/(m*9.8))'...                ,'n','coeff','ig','i0','nt','r','CD','A','m');                [UaDmax,Dmax]=fminbnd(nD,min(n),max(n),[],coeff,ig(ll),i0,nt,r,CD,A,m);                text(0.377*r*UaDmax/(ig(ll)*i0),-Dmax,['D(',num2str(ll),')_{max}=',num2str(-Dmax),],'Fontsize',8)                hold on             end         title('汽车动力特性图','FontWeight','bold','Fontsize',10)         xlabel('Ua(km/h)','Fontsize',10)         ylabel('D','Fontsize',10)         igmin=ig(1);         nDmax=inline('-((polyval(coeff,n)*igmin*i0*nt/r-CD*A*(0.377*r*n/(igmin*i0))^2/21.15)/(m*9.8))'...         ,'n','coeff','igmin','i0','nt','r','CD','A','m');        [UaDmax1,Dmax1]=fminbnd(nDmax,min(n),max(n),[],coeff,igmin,i0,nt,r,CD,A,m);         UaDmax2=0.377*r*UaDmax1/(ig(ignum)*i0);         axis([0 UaDmax2+60 0 -Dmax1+0.1])          hold off         end      endcase 6,     if get1==1&get2==0        for kkk=1:ignum            Ua=0.377*r*n/(ig(kkk)*i0);            Ft=Tq*ig(kkk)*i0*nt/r;            Pe=Tq.*n/9550;            plot(Ua,Pe,'b')            hold on             Ff=m*9.8*f;            Fw=CD*A*Ua.^2/21.15;            F=Ff+Fw;            Pe1=F.*Ua/(nt*3600);            plot(Ua,Pe1,'r')        end     pPe=inline('-(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4).*n/9550');    [nPemax,Pemax]=fminbnd(pPe,min(n),max(n));     text(0.377*r*nPemax/(ig(1)*i0),-Pemax,['Pe_{max}=',num2str(-Pemax),'kw'],'Fontsize',8)           pPe=inline('-(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4).*n/9550');    [nPemax,Pemax]=fminbnd(pPe,min(n),max(n));     igmax=ig(ignum);     PeUamax=inline('(-19.313+295.27.*n/1000-165.44.*(n/1000).^2+40.874.*(n/1000).^3-3.8445.*(n/1000).^4)*n/9550-(CD*A*(0.377*r*n/(igmax*i0))^2/21.15+m*9.8*f)*(0.377*r*n/(igmax*i0))/3600/nt'...     ,'n','igmax','i0','nt','r','CD','A','m','f');    [nUa1max,F01,exitflag1]=fzero(PeUamax,nPemax,[],igmax,i0,nt,r,CD,A,m,f);        if  exitflag1<0 | nUa1max>max(n)             nUa1max=nPemax;        end    Ua1max=0.377*r*nUa1max/(ig(ignum)*i0);    text(Ua1max,(-19.313+295.27.*nUa1max/1000-165.44.*(nUa1max/1000).^2+40.874.*(nUa1max/1000).^3-3.8445.*(nUa1max/1000).^4).*nUa1max/9550,['Ua_{max}=',num2str(Ua1max),'km/h'],'Fontsize',8)    text(Ua1max,(-19.313+295.27.*nUa1max/1000-165.44.*(nUa1max/1000).^2+40.874.*(nUa1max/1000).^3-3.8445.*(nUa1max/1000).^4).*nUa1max/9550-10,'(Pf+Pw)/nt','Fontsize',8)    title('汽车功率平衡图','FontWeight','bold','Fontsize',10)    xlabel('Ua(km/h)','Fontsize',10)    ylabel('Pe(kw)','Fontsize',10)    axis([0 Ua1max+30 0 -Pemax+10])    hold off    else         if get1==0&get2==1           for kkk=1:ignum               Ua=0.377*r*n/(ig(kkk)*i0);               Ft=Tq*ig(kkk)*i0*nt/r;               Pe=Tq.*n/9550;               plot(Ua,Pe,'b')               hold on                Ff=m*9.8*f;               Fw=CD*A*Ua.^2/21.15;               F=Ff+Fw;               Pe1=F.*Ua/(nt*3600);               plot(Ua,Pe1,'r')            end        pPe=inline('-polyval(coeff,n).*n/9550','n','coeff');       [nPemax,Pemax]=fminbnd(pPe,min(n),max(n),[],coeff);        text(0.377*r*nPemax/(ig(1)*i0),-Pemax,['Pe_{max}=',num2str(-Pemax),'kw'],'Fontsize',8)                       pPe=inline('-polyval(coeff,n).*n/9550','n','coeff');       [nPemax,Pemax]=fminbnd(pPe,min(n),max(n),[],coeff);        igmax=ig(ignum);        PeUamax=inline('polyval(coeff,n).*n/9550-(CD*A*(0.377*r*n/(igmax*i0))^2/21.15+m*9.8*f)*(0.377*r*n/(igmax*i0))/3600/nt'...        ,'n','coeff','igmax','i0','nt','r','CD','A','m','f');       [nUa1max,F01,exitflag1]=fzero(PeUamax,nPemax,[],coeff,igmax,i0,nt,r,CD,A,m,f);           if  exitflag1<0 | nUa1max>max(n)                nUa1max=nPemax;           end        Ua1max=0.377*r*nUa1max/(ig(ignum)*i0);        text(Ua1max,polyval(coeff,nUa1max).*nUa1max/9550,['Ua_{max}=',num2str(Ua1max),'km/h'],'Fontsize',8)        text(Ua1max,polyval(coeff,nUa1max).*nUa1max/9550-10,'(Pf+Pw)/nt','Fontsize',8)        title('汽车功率平衡图','FontWeight','bold','Fontsize',10)        xlabel('Ua(km/h)','Fontsize',10)        ylabel('Pe(kw)','Fontsize',10)        axis([0 Ua1max+100 0 -Pemax+10])        hold off        end     endend% --------------------------------------------------------------------function varargout = checkbox1_Callback(h, eventdata, handles, varargin)x=get(handles.checkbox1,'Value');onoff='off';if  x==1    onoff='on';endset(handles.axes,'XGrid',onoff);% --------------------------------------------------------------------function varargout = checkbox2_Callback(h, eventdata, handles, varargin)y=get(handles.checkbox2,'Value');onoff='off';if  y==1    onoff='on';endset(handles.axes,'YGrid',onoff);% --------------------------------------------------------------------function varargout = checkbox3_Callback(h, eventdata, handles, varargin)zm=get(handles.checkbox3,'value');zm==0;if zm==1   zoom on;else zoom off;end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -