我想在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
也是自定义函数。
有没有方法在模拟中实现上述功能?
答案 0 :(得分:1)
您需要使用命令 eml.extrinsic 从EML块调用任何外部MATLAB函数。例如,您可以将它放在EML函数的顶部,
eml.extrinsic('getLr', 'initializeLq');
允许调用这些函数。有关详细信息,请参阅documentation