Simulink上でのM-functionの使用について
Show older comments
simulink上でM-functionを使ってプログラムを作成しています.
初歩的な質問で恐縮ですが,以下のようなプログラム例なのですが,コード生成に対応していない関数を使用する際,
「coder.extrinsic('tf','c2d');」でエラーを回避するところまではできたのですが,
17~18行で「'mxArray' から 'Numerator' のフィールドを抽出しようとしています。」とエラーが出ます.
どのように修正すれば良いかご教示いただきたく,よろしくお願いいたします.
function y_k = fcn(u_k, K, T, L)
persistent y
if isempty(y)
y = zeros(1,2);
end
coder.extrinsic('tf','c2d');
Ts = 0.1;
SYS = tf(K,[T 1],"inputdelay",L);
SYSz = c2d(SYS,Ts);
B = SYSz.Numerator;
A = SYSz.Denominator;
y(1) = B(2)*u_k-A(2)*y(2);
y_k = y(1);
y = circshift(y,1,2);
Accepted Answer
More Answers (0)
Categories
Find more on 命名規則 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!