MATLAB: Simulink – Variable Size

simulinkspeedgoat

Within my simulink model I have the following function, which defines my PWM Duty Cycle:
function DutyValue = fcn(u,StepTime,StepSize,StepIncrease)
DutyValue=0;
x=floor(u/StepTime); % Determine Step On or Step Off
if mod(x,2)==0
DutyValue=0;
elseif mod(x,2)==1
DutyValue=StepSize+StepIncrease*(x-1); % Define Step Size if Step is On
end
end
Upon building my model, I yield this error
"Data 'DutyValue' is inferred as a variable size matrix, while its properties in the Model Explorer specify its size as inherited or fixed. Please check the 'Variable Size' check box and specify the upper bounds in the size field."
However, I cannot change the size of the matrix to Varible size, as the subsequent blocks cannot recieve inputs of varible size. I have tried constraining the size of the inputs, which would ensure that the output size is constrained, but that does not work either.
Appreciate any help!
Cheers
HRG

Best Answer