MATLAB: Variable ‘a’ is undefined on some execution paths. Why

embedded matlab functionmatlab codersimulink

I'm using the block named Embedded MATLAB (that link the simulink to matlab) and when I try to run the code above, return the message error: "Variable 'a' is undefined on some execution paths". Besides that, other message appears: "Parsing successful for machine: "teste1_05mar13"(#17)" What does it mean?
function y = fcn(ia,va,t)
%#eml
p = ia*va;
N=1000;
if t <= 1.0e-6
a = 0;
b = 0;
end
b = a-0.01; %"b" is the value of the same "a", but is a value that precedes in 0.01 the value "a"
a = b + (p -b)/N;
y=a;
Thanks

Best Answer

when if t <= 1.0e-6 is false a and b are unknown
You should declare a and b persistent