首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"S-function level-1支持矢量输入和输出。不支持多个输入和输出端口“的S-function文档

"S-function level-1支持矢量输入和输出。不支持多个输入和输出端口“的S-function文档
EN

Stack Overflow用户
提问于 2013-07-17 17:40:08
回答 1查看 612关注 0票数 0

我在S-function文档中读到"S-function level-1 supports vector inputs and outputs. DOES NOT support multiple input and output ports"

第二句话是否意味着输入和输出维度必须相同?

我一直在使用S-function level-1来做以下事情:

代码语言:javascript
复制
[a1, b1] = choose_cells(c, d);

其中a1和b1是输出,c和d是输入。所有的变量都只有一个值,除了d是一个有6个值的数组。

参考附图,我们都知道在S-function块中,输入尺寸必须与输出尺寸相同,否则我们会得到错误,在这种情况下,输入尺寸是7,而输出尺寸是2,所以我必须在图中包含"Terminator“块才能完美地工作,否则,我会得到一个错误。

我的问题是,当系统变得更大时,数组d可能包含数百个变量,使用这种方法,这意味着我必须添加数百个"Terminator“块才能完成这项工作,这听起来肯定不实用。

你能给我一个实现这一点的明智方法吗?

http://imgur.com/ib6BTTp

http://imageshack.us/content_round.php?page=done&id=4tHclZ2klaGtl66S36zY2KfO5co

更新:实际上我一直在尝试将我的level-1 S-function转换为level-2,但我在函数输出(Block)调用另一个子函数时遇到了问题,试图寻找其他线程,但没有用,您介意提供相关链接吗?

我的输出依赖于大量的输入处理,这就是为什么我需要调用子函数来计算然后返回输出值的原因,我看到的所有例子都是直接在"function Output(block)“中计算他们的输出,在我的例子中,我认为这是不可能的。

然后我尝试使用解释的Matlab函数块,但由于输出尺寸与输入尺寸不同而失败,而且它不支持返回多个输出................

EN

回答 1

Stack Overflow用户

发布于 2013-07-17 21:55:59

1级s-函数支持单输入和单输出端口。这些端口必须是矢量。但对长度没有限制。输入和输出可以有不同的长度。您可以使用选择器块仅选择相关数据。您不需要在输出中使用Bus。

对于从输出中调用其他子函数也没有限制。如果您的子函数不在同一文件中,则必须在path或当前目录中。

如果您的MATLAB代码与MATLAB函数块兼容,我建议您使用该块。它的设置和使用更简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17696325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档