Cant use variable size of bus member vector Simulink
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a bus object (<Quiver>) with a nested bus object (<arrows>). This nested bus object is a vector of size L (here, 100).
It looks like this:
I now want to reduce the length of this nested objects vector, so I do something like this:
Then I want to reuse the bus type like a <Quiver> again, but with a different length of <arrows>. But this wont work:
- It will be created as a virtual bus, thus will not be treated as a struct (like I want it to).
- I then take a To Virtual Bus element and set the output bus type to non-virtual. This also throws an error because one of the inputs/outputs must be declared as a Bus Type object. I cant do that, because the Bus Type Object <Quiver> has an length of <arrows> of L (here, L), not the length I just reduced it to.
- In the Type Editor, I cant change the length of the vector of the nested bus type object to "variable" (`DimensionsMode` != Fixed). This is very hindering in accomplishing my goals.
How can I achieve what I intend to do?
Thank you very much in advance!
0 个评论
采纳的回答
Mark McBroom
2023-2-5
It is not possible to change the length of a fixed length bus element. One approach to work around this would be to create a new variable that keeps track of the used size of <arrows> elelment... in this case any value from1 to 100. You could then use this new variable down stream when you want to loop over all of the used elements in <arrows>
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!