S-function dimension matching problem with lots of "Terminator" blocks
3 次查看(过去 30 天)
显示 更早的评论
Hi All,
I have been using S-function to do the following:
[a1, b1] = choose_cells(c, d);
where a1 and b1 are outputs, c and d are inputs. All the variables are having a single value, except d is an array with 6 values.
Referring to the image attached, we all know that in S-function block, the input dimension must be SAME as output dimension, else we will get error, in this case, the input dimension is 7 while the output dimension is 2, so I have to include the "Terminator" blocks in the diagram for it to work perfectly, otherwise, I will get an error.
My problem is, when the system gets bigger, the array d could contain hundreds of variables, using this method, it means I would have to add hundreds of "Terminator" blocks in order to get this work, this definitely does not sound practical.
Could you please suggest me a wise way to implement this?
Thanks in advance.
0 个评论
回答(2 个)
C.J. Harris
2013-7-9
"we all know that in S-function block, the input dimension must be SAME as output dimension"
I'm really not sure where you get this idea from. It isn't true.
Also, you don't need to use a demux block, you could just use a selector block, with the port dimension being a configurable parameter. That way you could just select the signals you need.
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!