Persistent variables not working? (Simulink)

2 次查看(过去 30 天)
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 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-12-17
currentX is not defined in your code

Community Treasure Hunt

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

Start Hunting!

Translated by