| plot_forces3D(model,Z,vmax,Tmax,Pmax,deltav,deltaT,tit,cmap)
|
function plot_forces3D(model,Z,vmax,Tmax,Pmax,deltav,deltaT,tit,cmap)
%PLOT_FORCES3D
%plot_forces3D(model,Z,vmax,Tmax,Pmax,deltav,deltaT,tit,cmap)
%this function plots the 3D traction force as a function of speed and
%torque for a given model, maximum values for speed, torque and power
%should be given, and also speedstep and torquestep, a title and a colormap
%are inputs.
if not(isnumeric(model))
% make a new grid with max speed, max Torque and Speed step and Torque step
vgrid = 0:deltav:vmax;
Tgrid = 0:deltaT:Tmax;
for k=1:length(vgrid)
hulp(((k-1)*(length(Tgrid))+1):k*length(Tgrid),:)=[vgrid(k).*ones(length(Tgrid),1) Tgrid'];
end
Xnew = hulp;
Ynew = simlssvm(model,Xnew);
%Remove point above the powerlimit and the torquelimit
for i=1:length(Xnew)
if or(Xnew(i,1)/3.6*Xnew(i,2)/Z>Pmax,Ynew(i)>120)
Ynew(i)=NaN;
end
if Xnew(i,2)>Tmax
Ynew(i)=NaN;
end
end
%Prepare to mesh
[Xen Yen]=meshgrid(vgrid,Tgrid);
for k=1:length(vgrid)
ZZ(:,k)=Ynew(((k-1)*length(Tgrid))+1:k*length(Tgrid));
end
set(text,'fontsize',12)
mesh(Yen,Xen,ZZ);
colormap(cmap);
%hold on
grid on
view(150,-30);
axis([0 Tmax 0 vmax 0 150])
title(tit,'fontsize',14)
ylabel('Speed [km/h]','rotation',30)
zlabel('F_t [N]','rotation',90)
xlabel('T_c [Nm]','rotation',-10)
%hold off
else
errordlg('there are no models found for this assistance mode','Bad Input','modal')
end
|
|