piecewise continuous function in SImulink

9 Ansichten (letzte 30 Tage)
Mikhail Fedkin
Mikhail Fedkin am 7 Nov. 2020
Kommentiert: Ameer Hamza am 7 Nov. 2020
Hello!
I made a piecewise functions in Simulink:
function y = fcn(t)
y = piecewise(t < -1,-1, -1<t<1,0, t > 1,1);
pretty simple, but I got problem with output value of function.
"Simulink cannot determine sizes and/or types of the outputs for block "
How to deal with this problem?

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 7 Nov. 2020
piecewise is from symbolic toolbox. It will not work in Simulink. Use if-else block
function y = fcn(t)
if t < -1
y = -1;
elseif t < 1
y = 0;
else
y = 1;
end
  2 Kommentare
Mikhail Fedkin
Mikhail Fedkin am 7 Nov. 2020
this was my original function, but this one neither didn't work
function y = sign_with_deadzone (t,delay)
if(t > delay)
if(t > 0)
y = 1;
end
if(t < 0)
y = -1;
end
else
y = 0;
end
anyway thank you)
Ameer Hamza
Ameer Hamza am 7 Nov. 2020
Is 't' the simulation time? If yes, then it will never be negative and t < 0 will never become true.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Event Functions finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by