登录论坛

查看完整版本 : 在Simulink中实现自定义MATLAB函数


poster
2019-12-10, 20:41
我想在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'); 允许调用这些函数。有关更多信息,请参见文档 (http://www.mathworks.com/access/helpdesk/help/toolbox/eml/ug/bq1h2z8-34.html#bq1h2z9-38)



更多&回答... (https://stackoverflow.com/questions/2729609)