MATLAB: Results showing up as NaN

controlMATLABmatlab functionnanscript

I have been working on a launch control simulation and something happened recently because the matrix z is returning only NaN values now… I do not remember changing anything in the script or the function. I have also attached below the main function used with the code… maybe you spot a mistake there…
global m g I h lR lF r LCREV_MAX LCSPEED_MAX
LCREV_MAX = 12000;
LCSPEED_MAX = 35;
m = 295; % mass of vehicle including driver
g = 9.81; % gravitational acceleration
r = 0.23; % wheel radius
I = 0.2645; % tyre moment of inertia
h = 0.28; % CoG height
lR = 0.765; % Distance of CoG to rear axle
lF = 0.765; % Distance of CoG to front axel
z10 = 0; % initial x position
z20 = 0; % initial linear velocity
z30 = 0; % initial angle of rear wheel
z40 = 0; % intial angular velocity of rear wheel
z0 = [z10 z20 z30 z40]; % initial conditions vector
t0 = 0; % intial time
tf = 6; % final time
[t,z] = ode45('LC_eom',(t0:0.1:tf),z0);
x = z(:,1); % position as first column of z matrix
v = z(:,2); % linear velocity as second column of z matrix
theta = z(:,3); % angle as third column of z matrix
omega = z(:,4); % angular velocity as fourth column of z matrix

Best Answer

Here is one source of NaN's: In slipratio_fun with the initial value of t=0 and v=0, you have omega=v=0. The line
sx (abs(omega)*r>=abs(v)) = -1 + v./(omega.*r); % acceleration
sets sz equal to NaN because it's dividing by zero.