using sat(.) function i.e y=sat (x) function
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all,
can someone put me through this I need to use a sat function in a sliding mode control problem : below is the alternate code I saw Y=(atan(5.*s*1/e)-atan(-5.*s*1/e))/(pi); where s is the sliding manifold,e=1 but I intend to use: And is the same with sat function even though I got result
function Y=sat(s);
% % sat is the saturation function with unit limits and unit slope.
% if s>1
% Y=1;
% elseif s<-1
% Y=-1;
% else
% Y=s;
% end
2 Kommentare
Yousef Sardahi
am 22 Sep. 2015
Bearbeitet: Walter Roberson
am 22 Sep. 2015
The saturation function can be coded as follows :
function y=sat(x,delta)
kk=1/delta;
% sat is the saturation function with unit limits and unit slope.
if abs(x)>delta
% elseif x<-delta
y=sign(x);
else
y=kk*x;
end
Walter Roberson
am 22 Sep. 2015
That code is not vectorized. A vectorized approach is
sat = @(x, delta) min(max(x/delta, -1), 1);
Antworten (1)
Walter Roberson
am 22 Nov. 2013
Your existing code would have a problem if you were to input a vector or matrix of values. I suggest instead,
sat = @(s) min(max(X, -1), 1);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Historical Contests finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!