Persistent variables not working? (Simulink)

I'm trying to implement the following simple test function in Simulink:
function [y, newx] = fcn(xI, T)
%This is a very simple function meant for learning how to properly
%implement "pseudo-feedback" in Simulink.
%xI is merely the initial value of x.
%#codegen
mlock
persistent currentX;
double x;
if isempty(currentX)
x = xI;
else
x = currentX;
end
for t = 1:T
if t > 1
newx = x;
end
y = 1/x;
newx = x+1;
end
end
However, when I try running the model (with a constant input and displays connected to the output), I get the following error message:
Undefined function or variable 'currentX'. The first assignment to a local variable determines its class.
Could anyone help identify the problem?

1 件のコメント

Jared Mach
Jared Mach 2018 年 2 月 22 日
Remove the semicolon at the end of "persistent currentX;"

サインインしてコメントする。

回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 17 日

1 投票

currentX is not defined in your code

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

質問済み:

2014 年 12 月 17 日

コメント済み:

2018 年 2 月 22 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by