我怎么能写2级MATLAB函数的输入和输出可能有未知的维度,甚至是适应信号?

17日视图(30天)
我需要写一个2级MATLAB函数的输入和/或输出尺寸未知,在模拟和也可能变化。
具体地说,我想实现下面两个场景:
)输入:一维未知固定大小的数组。两个输出:排序数组,和所有元素的和。
B)一样),但在模拟数组的大小可能会有所不同。
我怎样才能实现呢?

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年9月30日
一)
在你的MATLAB函数的设置功能,您需要配置端口属性继承或动态:
> > block.SetPreCompInpPortInfoToDynamic; > > block.SetPreCompOutPortInfoToDynamic;
然后您可以覆盖你已知的唯一属性,例如:
> > block.InputPort (1)。DatatypeID = 0; > > block.InputPort (1)。复杂性=“真实”;> > block.InputPort (1)。DirectFeedthrough = true;
> > block.OutputPort (1)。DatatypeID = 0; > > block.OutputPort (1)。复杂性=“真实”;>> block.OutputPort(2).Dimensions = 1;>> block.OutputPort(2).DatatypeID = 0;>> block.OutputPort(2).Complexity = 'Real';
注意该领域“维度”没有设置InputPort(1)和OutputPort (1)。
B)
类似),但需要配置所需的输入和输出端口,这样他们可以处理适应可变的信号:
> > block.InputPort (1)。DimensionsMode =“变量”;> > block.OutputPort (1)。DimensionsMode =“变量”;
此外,在输出功能,您需要设置的当前维度输出端口:
> > block.OutputPort (1)。CurrentDimensions = block.InputPort (1) .CurrentDimensions;
为进一步的细节,请参阅附上的文件:
matlabSfunUnknownSize。m和simpleTestMsfUnknownSize.slx
B) matlabSfunVarSize。m和simpleTestMsfVarSize.slx
循序渐进和模拟模型。
更多信息:

更多的答案(0)

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!