I want to generate a lateral speed plot with range of forward speeds

1 view (last 30 days)
Umut on 6 Nov 2022
Answered: Mathieu NOE on 7 Nov 2022
This code generates lateral speed plot with constant forward speed u=20 but i want to generate a plot with variable forward speeds. u [5,35] to be exact. I tried to change the u to a variable but it didn't work.
a = 1.34;
L = 2.851;
m = 2425;
Iz = 2700.0;
Caf = 1900;
Car = 2000;
b=L-a; g=9.81;
Kus = m*b/(L*Caf) - m*a/(L*Car);
u=20.0;
A=[-(Caf+Car)/(m*u), (b*Car-a*Caf)/(m*u)-u
(b*Car-a*Caf)/(Iz*u), -(a^2*Caf+b^2*Car)/(Iz*u)];
B=[Caf/m; a*Caf/Iz];
C_lat = [1 0]; D_lat = 0; % Lateral speed
C = [C_lat;];
D = [D_lat;];
t=[0:0.01:10];
U=10*pi/180*sin(1/3*2*pi*t);
Y=lsim(A,B,C,D,U,t);
subplot, subplot(221)
plot(t,Y(:,1),'r'); grid
xlabel('time (sec)')
ylabel('Lateral speed (m/sec)')

Mathieu NOE on 7 Nov 2022
hello
you can do a for loop
a = 1.34;
L = 2.851;
m = 2425;
Iz = 2700.0;
Caf = 1900;
Car = 2000;
b=L-a; g=9.81;
Kus = m*b/(L*Caf) - m*a/(L*Car);
% u=20.0;
u=(5:5:35);
t=[0:0.01:10];
U=10*pi/180*sin(1/3*2*pi*t);
Yall = [];
for ci =1:numel(u)
A=[-(Caf+Car)/(m*u(ci)), (b*Car-a*Caf)/(m*u(ci))-u(ci)
(b*Car-a*Caf)/(Iz*u(ci)), -(a^2*Caf+b^2*Car)/(Iz*u(ci))];
B=[Caf/m; a*Caf/Iz];
C_lat = [1 0]; D_lat = 0; % Lateral speed
C = [C_lat;];
D = [D_lat;];
Y=lsim(A,B,C,D,U,t);
Yall = [Yall Y];
leg{ci} = [' u = ' num2str(u(ci))]; % legend char array
end
plot(t,Yall); grid
title('Lateral speed')
xlabel('time (sec)')
ylabel('(m/sec)')
legend(leg);

Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!