I have a function on Simulink that copy an in variable to another according a number (such as a DEMUX, but selectable)
% code
function [device,Var_RX1, Var_RX2, Var_RX3, Var_RX4, Var_RX5, Var_RX6, Var_RX7, Var_RX8, Var_RX9, Var_RX10] = fcn(device, Var_RX)Var_RX1 = zeros(50,1,'single');Var_RX2 = zeros(50,1,'single');Var_RX3 = zeros(50,1,'single');Var_RX4 = zeros(50,1,'single');Var_RX5 = zeros(50,1,'single');Var_RX6 = zeros(50,1,'single');Var_RX7 = zeros(50,1,'single');Var_RX8 = zeros(50,1,'single');Var_RX9 = zeros(50,1,'single');Var_RX10 = zeros(50,1,'single'); if (device == 1) Var_RX1 = Var_RX; elseif (device == 2) Var_RX2 = Var_RX; elseif (device == 3) Var_RX3 = Var_RX; elseif (device == 4) Var_RX4 = Var_RX; elseif (device == 5) Var_RX5 = Var_RX; elseif (device == 6) Var_RX6 = Var_RX; elseif (device == 7) Var_RX7 = Var_RX; elseif (device == 8) Var_RX8 = Var_RX; elseif (device == 9) Var_RX9 = Var_RX; elseif (device == 10) Var_RX10 = Var_RX; endend
The problem is that when the function is call I have to declare the variables (Var_RX) as zeros otherwise the follow problem occurs: "Output argument 'Var_RX1' is not assigned on some execution paths."
There's a way to declare those arrays out this function and just start the value in the beginning of the program?
Best Answer