查看单个帖子
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Simulink中实现自定义MATLAB函数

我想在Simulink中使用自定义的MATLAB函数。到目前为止,我已经通过放置一个嵌入式MATLAB功能块来做到这一点。但是,如果自定义函数包含另一个自定义函数,则编译过程将失败。

这是我尝试嵌入仿真中的函数示例:

function [c, d, iterationsCount] = decodeLDPC(y, H, variance) Lci = initializeLq(y, H, variance); Lr = getLr(Lci); [Lq, c] = getLq(Lci, H, Lr); iterationsCount = 1; while(sum(mod(c * H', 2)) ~= 0) Lr = getLr(Lq); [Lq, c] = getLq(Lq, H, Lr); iterationsCount = iterationsCount + 1; end; G = getGeneratorMatrix(H); d = c/G; 其中initializeLq和getLr也是自定义函数。

在仿真中是否有实现上述功能的方法?



回答:

您需要使用命令eml.extrinsic从EML块调用任何外部MATLAB函数。例如,您可以将其放在EML函数的顶部,

eml.extrinsic('getLr', 'initializeLq'); 允许调用这些函数。有关更多信息,请参见文档



更多&回答...
poster 当前离线   回复时引用此帖