No BSD License  

Highlights from
GUI for the performance analysis of pedelecs

image thumbnail
from GUI for the performance analysis of pedelecs by Jan Cappelle
Modeling the behaviour of electric bicycles

Tslicesplot_ksi(models,avail,what,T,Z,tit)
function Tslicesplot_ksi(models,avail,what,T,Z,tit)
%vslicesplot_ksi(ksimodel,avail,what,v,Z,tit)



% make a new grid with max speed, max Torque and Speed step and Torque step
vgrid = 0:0.5:25;
Tgrid = T;


for k=1:length(vgrid)
hulp(((k-1)*(length(Tgrid))+1):k*length(Tgrid),:)=[vgrid(k).*ones(length(Tgrid),1) Tgrid'];
end
Xnew = hulp;

        %XtestZA=testdataZA(:,1:2);
        YnewZA=simlssvm(models.ZA,Xnew);
            if avail(2)==1
            Ynew(:,1) = simlssvm(models.MAe,Xnew);
            %Ytest(:,1)= simlssvm(models.MAe,XtestZA);
                for i=1:length(Xnew(:,1))
                    ksi(i,1)=1-YnewZA(i)/Ynew(i,1);
                    %ksitest(i,1)=1-YtestZA(i)/Ytest(i,1);
                end
            else
                for i=1:length(Xnew)
                    ksi(i,1)=0;
                    %ksitest(i,2)=0;
                end
            end
            if avail(3)==1
            Ynew(:,2) = simlssvm(models.MAn,Xnew);
            %Ytest(:,2)= simlssvm(models.MAn,XtestZA);
                for i=1:length(Xnew)
                    ksi(i,2)=1-YnewZA(i)/Ynew(i,2);
                    %ksitest(i,2)=1-YtestZA(i)/Ytest(i,2);
                end
            else
            for i=1:length(Xnew)
                ksi(i,2)=0;
                %ksitest(i,2)=0;
            end
            end
            if avail(4)==1
            Ynew(:,3) = simlssvm(models.MAp,Xnew);
            %Ytest(:,3)= simlssvm(models.MAp,XtestZA);
                for i=1:length(Xnew)
                    ksi(i,3)=1-YnewZA(i)/Ynew(i,3);
                    %ksitest(i,3)=1-YtestZA(i)/Ytest(i,3);
                end
            else
            for i=1:length(Xnew)
                ksi(i,3)=0;
                %ksitest(i,3)=0;
            end
            end
            %filter negative and unrealistic ksi 
            for i=1:length(Xnew(:,1))
                for j=1:3
                    if or(ksi(i,j)>1,ksi(i,j)<0)
                        ksi(i,j)=NaN;
                    end
                end
            end




colors=['y','g','b','r'];
amodes=['ZA '
        'MAe'
        'MAn'
        'MAp'];
amodesstr=cellstr(amodes);

if max(T)>80
    errordlg(['Elements of T must be smaller than ', 80],'Bad Input','modal')
end


for i=1:length(vgrid)
    Tslice(:,i)=Xnew((i-1)*length(Tgrid)+1:i*length(Tgrid),2);
    vslice(:,i)=Xnew((i-1)*length(Tgrid)+1:i*length(Tgrid),1);
    for j=2:4
     ksislice(:,i,j-1)=100*ksi((i-1)*length(Tgrid)+1:i*length(Tgrid),j-1);
    end
end
%save slices2 Xnew Tslice vslice ksislice ksi

hold on
set(text,'fontsize',14)
for i=1:length(T);
    k=round(2.5*max(Tslice)/25*i*1/0.5);
    l=round(k);
    %index=v(i)*1/deltav+1;
    for j=1:4
        if what(j)==1
            if avail(j)==0
                errordlg(['The ',amodes(j,:),' mode is not available for this pedelec'],'Bad Input','modal');
            else
                plot(vslice(i,:),ksislice(i,:,j),colors(j))
                text(vslice(i,k),ksislice(i,k,j),['\leftarrowT_{',amodes(j,:),'}= ',num2str(Tslice(i,1)),'Nm'],'color',colors(j));
            end
        end
    end
end
title(tit,'fontsize',14);
ylabel('\xi [%]','rotation',0);
xlabel('Speed [km/h]');
%vektor(i,:)=[tekstZA(i) tekstMAp(i) titel(i) x(i) y(i)];
%set(vektor(k,:),'fontsize',14);
axis([0 25 0 120]);
hold off
end

% 

Contact us at files@mathworks.com