How to compile a Simulink file?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
답변 (1개)
Walter Roberson
2015년 6월 29일
Try something like
ind = find(y==0);
x = zeros(size(ind));
for k = 1 : length(ind)
x(k) = ind(k);
end
This could probably be shortened to
x = find(y==0);
but you did say it was a toy example so I will presume that the purpose is to produce a variable-length output iteratively.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!