Dear reader,
I am trying to get an insight into the best practice towards writing matlab code that can be used with Simulink. In other words, I would like to be able to compile in Simulink, this toy example scheme:
where inside the Matlab embedded function I call:
y = select1([1 0 2 0 3]);
The function select1.m identifies the zeros inside a vector and returns their position:
function x = select1(y)
x = [];
for i=find(y==0)
x = [x i];
end
Now, once I run the Simulink scheme it gives errors, complaining about select1.m There are 2 main problems here:
- the usage of variable size vectors (namely x)
- the for-loop is written in a way that coder cannot interpret it
In particular, my question is the following: what is the best practice towards (re)writing this simple piece of code select1.m such that the Simulink scheme described above can compile, without generating errors?
Thank you